equal
deleted
inserted
replaced
15 * |
15 * |
16 */ |
16 */ |
17 |
17 |
18 |
18 |
19 // INCLUDE FILES |
19 // INCLUDE FILES |
|
20 #include <nsmlconstants.h> |
20 #include "SyncMLPreSyncPluginInterface.h" |
21 #include "SyncMLPreSyncPluginInterface.h" |
21 #include "CPreSyncPlugin.h" |
22 #include "CPreSyncPlugin.h" |
22 |
23 |
23 _LIT(kDefault,"DEFAULT"); |
24 _LIT(kDefault,"DEFAULT"); |
24 |
25 |
95 RImplInfoPtrArray infoArray; |
96 RImplInfoPtrArray infoArray; |
96 TBool bHandleSync = false; |
97 TBool bHandleSync = false; |
97 CPreSyncPlugin* syncPlugin = NULL; |
98 CPreSyncPlugin* syncPlugin = NULL; |
98 CPreSyncPlugin* defaultSyncPlugin = NULL; |
99 CPreSyncPlugin* defaultSyncPlugin = NULL; |
99 |
100 |
|
101 CleanupRImplInfoPtrArrayPushL( &infoArray ); |
|
102 |
100 // Get list of all implementations |
103 // Get list of all implementations |
101 TRAPD(error, ListAllImplementationsL( infoArray )); |
104 TRAPD(error, ListAllImplementationsL( infoArray )); |
102 |
105 |
103 if (error != KErrNone) |
106 if (error != KErrNone) |
104 { |
107 { |
|
108 CleanupStack::PopAndDestroy( &infoArray ); |
105 return NULL; |
109 return NULL; |
106 } |
110 } |
107 |
111 |
108 // Instantiate plugins for all impUIds by calling |
112 // Instantiate plugins for all impUIds by calling |
109 // InstantiatePlugInFromImpUidL |
113 // InstantiatePlugInFromImpUidL |
135 delete syncPlugin; |
139 delete syncPlugin; |
136 } |
140 } |
137 } |
141 } |
138 } |
142 } |
139 |
143 |
140 infoArray.ResetAndDestroy(); |
144 CleanupStack::PopAndDestroy( &infoArray ); |
141 if(bHandleSync == true) |
145 if(bHandleSync == true) |
142 { |
146 { |
143 //delete defaultSyncPlugin; |
147 //delete defaultSyncPlugin; |
144 if(defaultSyncPlugin != NULL) |
148 if(defaultSyncPlugin != NULL) |
145 { |
149 { |
146 CleanupStack::PopAndDestroy(defaultSyncPlugin); |
150 delete defaultSyncPlugin; |
147 } |
151 } |
|
152 CleanupStack::PushL(syncPlugin); |
148 return syncPlugin; |
153 return syncPlugin; |
149 } |
154 } |
150 else |
155 else |
151 { |
156 { |
|
157 CleanupStack::PushL(defaultSyncPlugin); |
152 return defaultSyncPlugin; |
158 return defaultSyncPlugin; |
153 } |
159 } |
154 } |
160 } |
155 |
161 |
156 // ----------------------------------------------------------------------------- |
162 // ----------------------------------------------------------------------------- |
169 CPreSyncPlugin* CPreSyncPluginInterface::InstantiatePlugInFromImpUidL( const TUid& aImpUid ) |
175 CPreSyncPlugin* CPreSyncPluginInterface::InstantiatePlugInFromImpUidL( const TUid& aImpUid ) |
170 { |
176 { |
171 // REComSession |
177 // REComSession |
172 CPreSyncPlugin *preSyncPlugin= NULL; |
178 CPreSyncPlugin *preSyncPlugin= NULL; |
173 preSyncPlugin = CPreSyncPlugin::NewL(aImpUid); |
179 preSyncPlugin = CPreSyncPlugin::NewL(aImpUid); |
174 CleanupStack::PushL(preSyncPlugin); |
|
175 return preSyncPlugin; |
180 return preSyncPlugin; |
176 /* |
181 /* |
177 TAny* implementation = REComSession::CreateImplementationL ( aImpUid, |
182 TAny* implementation = REComSession::CreateImplementationL ( aImpUid, |
178 _FOFF( CPreSyncPlugin , iDtor_ID_Key) ); |
183 _FOFF( CPreSyncPlugin , iDtor_ID_Key) ); |
179 CPreSyncPlugin* self = REINTERPRET_CAST( CPreSyncPlugin*, implementation ); |
184 CPreSyncPlugin* self = REINTERPRET_CAST( CPreSyncPlugin*, implementation ); |