62 EEnumeratingDataProviderStorages = 3, |
62 EEnumeratingDataProviderStorages = 3, |
63 EEnumeratingFrameworkObjects = 4, |
63 EEnumeratingFrameworkObjects = 4, |
64 EEnumeratingDataProviderObjects = 5, |
64 EEnumeratingDataProviderObjects = 5, |
65 EEnumeratingPhaseOneDone = 6, |
65 EEnumeratingPhaseOneDone = 6, |
66 EEnumeratingSubDirFiles = 7, //Only File DP care the status. |
66 EEnumeratingSubDirFiles = 7, //Only File DP care the status. |
67 EEnumeratedFulllyCompleted = 8, |
67 EEnumeratingCleanDBSnapshot = 8, |
|
68 EEnumeratedFulllyCompleted = 9, |
68 }; |
69 }; |
69 |
70 |
70 public: |
71 public: |
71 |
72 |
72 static CMTPDataProviderController* NewL(); |
73 static CMTPDataProviderController* NewL(); |
93 IMPORT_C void WaitForEnumerationComplete(); |
94 IMPORT_C void WaitForEnumerationComplete(); |
94 TBool FreeEnumerationWaiter(); |
95 TBool FreeEnumerationWaiter(); |
95 |
96 |
96 IMPORT_C void SetNeedEnumeratingPhase2(TBool aNeed); |
97 IMPORT_C void SetNeedEnumeratingPhase2(TBool aNeed); |
97 IMPORT_C TBool NeedEnumeratingPhase2() const; |
98 IMPORT_C TBool NeedEnumeratingPhase2() const; |
|
99 |
|
100 IMPORT_C void RegisterPendingRequestDP(TUint aDpUid, TUint aTimeOut = 0); |
|
101 IMPORT_C void ExecutePendingRequestL(); |
|
102 IMPORT_C TUint StorageEnumerateState(TUint aStorageId); |
|
103 |
|
104 |
98 private: // From CActive |
105 private: // From CActive |
99 |
106 |
100 void DoCancel(); |
107 void DoCancel(); |
101 void RunL(); |
108 void RunL(); |
102 TInt RunError(TInt aError); |
109 TInt RunError(TInt aError); |
103 |
110 |
104 private: |
111 private: |
105 |
112 |
106 CMTPDataProviderController(); |
113 CMTPDataProviderController(); |
107 void ConstructL(); |
114 void ConstructL(); |
|
115 void EstablishDBSnapshotL(TUint32 aStorage); |
108 |
116 |
109 CMTPDataProviderConfig* CreateConfigLC(const TDesC& aResourceFilename); |
117 CMTPDataProviderConfig* CreateConfigLC(const TDesC& aResourceFilename); |
110 void EnumerateDataProviderObjectsL(TUint aId); |
118 void EnumerateDataProviderObjectsL(TUint aId); |
111 TBool IsObjectsEnumerationNeededL(CMTPDataProvider& dp); |
119 TBool IsObjectsEnumerationNeededL(CMTPDataProvider& dp); |
112 void LoadInstalledDataProvidersL(const CImplementationInformation* aImplementations); |
120 void LoadInstalledDataProvidersL(const CImplementationInformation* aImplementations); |
120 static void ImplementationsCleanup(TAny* aData); |
128 static void ImplementationsCleanup(TAny* aData); |
121 static TInt ImplementationsLinearOrderUid(const TUid* aUid, const CImplementationInformation& aObject); |
129 static TInt ImplementationsLinearOrderUid(const TUid* aUid, const CImplementationInformation& aObject); |
122 static TInt ImplementationsLinearOrderUid(const CImplementationInformation& aL, const CImplementationInformation& aR); |
130 static TInt ImplementationsLinearOrderUid(const CImplementationInformation& aL, const CImplementationInformation& aR); |
123 |
131 |
124 private: // Owned |
132 private: // Owned |
|
133 |
|
134 friend class CMTPObjectStore; |
|
135 class CMTPPendingReqestTimer : public CTimer |
|
136 { |
|
137 public: |
|
138 |
|
139 static CMTPPendingReqestTimer* NewL(CMTPDataProviderController* aDPController); |
|
140 virtual ~CMTPPendingReqestTimer(); |
|
141 |
|
142 void Start(TUint aTimeOut); |
|
143 |
|
144 private: // From CTimer |
|
145 |
|
146 void RunL(); |
|
147 |
|
148 private: |
|
149 |
|
150 CMTPPendingReqestTimer(CMTPDataProviderController* aDPController); |
|
151 void ConstructL(); |
|
152 |
|
153 private: |
|
154 __FLOG_DECLARATION_MEMBER_MUTABLE; |
|
155 |
|
156 CMTPDataProviderController* iDPController; |
|
157 }; |
|
158 |
125 /** |
159 /** |
126 FLOGGER debug trace member variable. |
160 FLOGGER debug trace member variable. |
127 */ |
161 */ |
128 __FLOG_DECLARATION_MEMBER_MUTABLE; |
162 __FLOG_DECLARATION_MEMBER_MUTABLE; |
129 |
163 |