00001
00002
00003
00004
00005
00006 #ifndef __TXUT_H__
00007 #define __TXUT_H__
00008
00009 #include <e32std.h>
00010 #include <msvapi.h>
00011
00012
00013
00014 LOCAL_D const TInt KUidMsgTypeTextValue = 0x10005247;
00015 LOCAL_D const TUid KUidMsgTypeText = { KUidMsgTypeTextValue};
00016 LOCAL_D const TUid KTxtMtmTechnologyTypeUid = { KUidMsgTypeTextValue};
00017
00018 LOCAL_D const TUid KUidMsvMtmTextServerDLL ={0x101FDA9C};
00019 LOCAL_D const TUid KUidMsvMtmTextClientDLL ={0x101FDA9B};
00020 LOCAL_D const TUid KUidMsvMtmTextUiDLL ={0x101FDA9D};
00021 LOCAL_D const TUid KUidMsvMtmTextUiDataDLL ={0x101FDA9E};
00022 LOCAL_D const TUid KUidTextMtmVersion1 ={ KUidMsgTypeTextValue};
00023
00024
00025 LOCAL_D const TInt KUidTxtMTMSettingsValue = 0x1000525A;
00026 LOCAL_D const TUid KUidTxtMTMSettings={KUidTxtMTMSettingsValue};
00027 LOCAL_D const TInt KMaxTextMessageSize = 0xFFFF;
00028
00029
00030
00031
00032
00033 class TTxtProgress
00034 {
00035 public:
00036 TInt iTotalMsgs;
00037 TInt iMsgsProcessed;
00038 TInt iErrorCode;
00039 TMsvId iNewId;
00040 };
00041
00042
00043
00044
00045 typedef TPckgBuf<TTxtProgress> TTxtProgressBuf;
00046
00047
00048
00049
00050 class TxtUtils
00051 {
00052 public:
00053
00054 IMPORT_C static void GetEntryFileNameL(TFileName& aFileName, TMsvEntry& aEntry);
00055
00056 IMPORT_C static void FindFileL(const TDesC& aFileName, const TDesC& aLocation, TFileName& aRetVal);
00057 };
00058
00059
00060
00061
00062
00063 class TMTMTxtSettings
00064 {
00065 public:
00066 IMPORT_C void StoreL(CMsvStore& aMsvStore) const;
00067 IMPORT_C void RestoreL(const CMsvStore& aMessageStore );
00068 IMPORT_C void ExternalizeL( RMsvWriteStream& aWriteStream ) const;
00069 IMPORT_C void InternalizeL( RMsvReadStream& aReadStream );
00070
00071 public:
00072 TPtrC RootFolder() const;
00073 void SetRootFolder(const TDesC& aRootFolder);
00074
00075 private:
00076 TFileName iRootFolder;
00077 };
00078
00079
00080
00081
00082
00083
00084
00085 class CMsvOpWait: public CActive
00086 {
00087 public:
00088 IMPORT_C static CMsvOpWait* NewLC(TInt aPriority=EPriorityStandard);
00089 IMPORT_C ~CMsvOpWait();
00090 IMPORT_C void Start();
00091
00092 protected:
00093 CMsvOpWait(TInt aPriority);
00094
00095 protected:
00096
00097 virtual void RunL();
00098 virtual void DoCancel();
00099 };
00100
00101
00102
00103
00104
00105
00106 class CMsvCompOperation : public CMsvOperation
00107 {
00108 public:
00109 IMPORT_C static CMsvCompOperation* NewL(CMsvSession& aMsvSession, TUid aMtm, const TDesC8& aProgress, TMsvId aService, TRequestStatus& aObserverRequestStatus, TInt aErr=KErrNone);
00110 IMPORT_C ~CMsvCompOperation();
00111
00112 public:
00113
00114 virtual const TDesC8& ProgressL();
00115
00116 private:
00117 CMsvCompOperation(CMsvSession& aSession, TRequestStatus& aObserverRequestStatus);
00118 void ConstructL(TUid aMtm, TInt aError, const TDesC8& aProgress, TMsvId aService);
00119
00120 private:
00121
00122 virtual void DoCancel();
00123 virtual void RunL();
00124
00125 private:
00126 HBufC8* iProgress;
00127 };
00128
00129
00130
00131
00132
00133 inline void TMTMTxtSettings::SetRootFolder(const TDesC& aRootFolder)
00134 {
00135 iRootFolder = aRootFolder;
00136 }
00137
00138 inline TPtrC TMTMTxtSettings::RootFolder() const
00139 {
00140 return iRootFolder;
00141 }
00142
00143 class CRepository;
00144
00149 class CMTMTxtSettings: public CBase
00150 {
00151 public:
00152 IMPORT_C static CMTMTxtSettings* NewL();
00153 ~CMTMTxtSettings();
00154
00155 IMPORT_C void LoadSettingsL(TMsvId aServiceId, TMTMTxtSettings& aSettings) const;
00156 IMPORT_C void SaveSettingsL(TMsvId aServiceId, const TMTMTxtSettings& aSettings);
00157 IMPORT_C void DeleteSettingsL(TMsvId aServiceId);
00158
00159 IMPORT_C TMsvId DefaultServiceL() const;
00160 IMPORT_C void SetDefaultServiceL(TMsvId aService);
00161 IMPORT_C void DeleteDefaultServiceSettingL();
00162
00163 private:
00164 void ConstructL();
00165 void CreateOrSetL(TUint aKey, const TDesC& aValue);
00166 void CreateOrSetL(TUint aKey, TInt aValue);
00167 TUint32 FindAccountL(TMsvId aService) const;
00168 TUint GetNextAccountSlotL();
00169 void DeleteSettingL(TUint32 settingId);
00170
00171 private:
00172 CRepository* iRepository;
00173 };
00174 #endif // __TXUT_H__
00175