00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef __WritePermFS1_H
00019 #define __WritePermFS1_H
00020
00021 #include "CommonStreamStore.h"
00022 #include <s32file.h>
00023
00024 LOCAL_C void doMakeL(const TDesC& aName);
00025 LOCAL_C void doUseL(const TDesC& aName);
00026
00027 class CClassA;
00028 LOCAL_C void doShow(const TDesC& aHeading,const CClassA& anA);
00029
00030 class CClassB;
00031 LOCAL_C void doShow(const TDesC& aHeading,const CClassB& aB);
00032
00033 class CClassC;
00034 LOCAL_C void doShow(const TDesC& aHeading,const CClassC& aC);
00035
00036 class CClassP;
00037 LOCAL_C void doShow(const TDesC& aHeading,const CClassP& aP);
00038
00039 class CClassR;
00040 LOCAL_C void doShow(const TDesC& aHeading,const CClassR& aR);
00041
00042 class CClassA : public CBase
00043 {
00044 public :
00045 static CClassA* NewL();
00046 static CClassA* NewLC();
00047 public :
00048 ~CClassA();
00049 void ExternalizeL(RWriteStream& aStream) const;
00050 void InternalizeL(RReadStream& aStream);
00051 public :
00052 HBufC* iVarBuf;
00053 TInt iIntValue;
00054 TUint iUintValue;
00055 };
00056
00057 class CClassB : public CBase
00058 {
00059 public :
00060 static CClassB* NewL();
00061 static CClassB* NewLC();
00062 public :
00063 void ExternalizeL(RWriteStream& aStream) const;
00064 void InternalizeL(RReadStream& aStream);
00065 public :
00066 TBuf<32> iFixBuf;
00067 TUint iUintValue;
00068 TInt iIntValue;
00069 TReal iRealValue;
00070 };
00071
00072 class CClassC : public CBase
00073 {
00074 public :
00075 static CClassC* NewL();
00076 static CClassC* NewLC();
00077 public :
00078 void ExternalizeL(RWriteStream& aStream) const;
00079 void InternalizeL(RReadStream& aStream);
00080 public :
00081 TBuf<32> iFixBuf;
00082 };
00083
00084 class CClassP : public CBase
00085 {
00086 public :
00087 static CClassP* NewLC(const TDesC& aData,CStreamStore& aStore);
00088 static CClassP* NewLC(CStreamStore& aStore, TStreamId anId);
00089 public :
00090 CClassP(CStreamStore& aStore);
00091 CClassP(CStreamStore& aStore,TStreamId anId);
00092 public :
00093 TStreamId StoreL();
00094 void RestoreL();
00095 void ExternalizeL(RWriteStream& aStream) const;
00096 void InternalizeL(RReadStream& aStream);
00097 private :
00098 void Construct(const TDesC& aData);
00099 public :
00100 TBuf<32> iFixBuf;
00101 CStreamStore& iStore;
00102 TStreamId iId;
00103 };
00104
00105
00106 class CClassR : public CBase
00107 {
00108 public :
00109 static CClassR* NewLC(const TDesC& aData,CStreamStore& aStore);
00110 static CClassR* NewLC(CStreamStore& aStore, TStreamId anId);
00111 public :
00112 CClassR(CStreamStore& aStore);
00113 CClassR(CStreamStore& aStore,TStreamId anId);
00114 public :
00115 TStreamId StoreL();
00116 void UpdateStoreL();
00117 void RestoreL();
00118 void ExternalizeL(RWriteStream& aStream) const;
00119 void InternalizeL(RReadStream& aStream);
00120 void ChangeDataL(const TDesC& aData);
00121 private :
00122 void Construct(const TDesC& aData);
00123 public :
00124 TBuf<32> iFixBuf;
00125 CStreamStore& iStore;
00126 TStreamId iId;
00127 };
00128
00129
00130 class TExampleIndex
00131 {
00132 public :
00133 TStreamId StoreL(CStreamStore& aStore);
00134 void RestoreL(CStreamStore& aStore, TStreamId anId);
00135 void ExternalizeL(RWriteStream& aStream) const;
00136 void InternalizeL(RReadStream& aStream);
00137 public :
00138 TStreamId iPid;
00139 TStreamId iRid;
00140 TStreamId iABCid;
00141 };
00142
00143
00144 class CClassABC : public CBase
00145 {
00146 public :
00147 static CClassABC* NewLC(CStreamStore& aStore);
00148 static CClassABC* NewLC(CStreamStore& aStore, TStreamId anId);
00149 public :
00150 CClassABC(CStreamStore& aStore);
00151 CClassABC(CStreamStore& aStore,TStreamId anId);
00152 ~CClassABC();
00153 TStreamId StoreL();
00154 void RestoreL();
00155 void ConstructAL(const TDesC& aData,TInt anInt,TUint aUint);
00156 void ConstructB(const TDesC& aData,TInt anInt,TUint aUint,TReal aReal);
00157 void ConstructC(const TDesC& aData);
00158 const CClassA* PtrA();
00159 const CClassB* PtrBL();
00160 const CClassC* PtrC();
00161 private :
00162 void ConstructL();
00163 void RestoreBL();
00164 private :
00165 CClassA* iA;
00166 TSwizzle<CClassB> iB;
00167 CClassC* iC;
00168 CStreamStore& iStore;
00169 TStreamId iId;
00170 };
00171
00172 #endif