153 const TLiwGenericParam* param= NULL; |
153 const TLiwGenericParam* param= NULL; |
154 TInt pos( 0); |
154 TInt pos( 0); |
155 param = aList.FindFirst( pos, KListMap, EVariantTypeMap ); |
155 param = aList.FindFirst( pos, KListMap, EVariantTypeMap ); |
156 if ( param && pos !=KErrNotFound ) |
156 if ( param && pos !=KErrNotFound ) |
157 { |
157 { |
158 CLiwDefaultMap* map = CLiwDefaultMap::NewLC( ); |
158 ExtractUidAndMapL( *param->Value().AsMap(), aTarget ); |
159 param->Value().Get( *map ); |
|
160 ExtractUidAndMapL( *map, aTarget ); |
|
161 CleanupStack::PopAndDestroy( map ); |
|
162 } |
159 } |
163 else |
160 else |
164 { |
161 { |
165 User::Leave( KErrNotFound ); |
162 User::Leave( KErrNotFound ); |
166 } |
163 } |
168 |
165 |
169 // ----------------------------------------------------------------------------- |
166 // ----------------------------------------------------------------------------- |
170 // CCPActionManager::ExtractUidAndMapL |
167 // CCPActionManager::ExtractUidAndMapL |
171 // --------------- -------------------------------------------------------------- |
168 // --------------- -------------------------------------------------------------- |
172 // |
169 // |
173 void CCPActionManager::ExtractUidAndMapL( const CLiwDefaultMap& aMap, |
170 void CCPActionManager::ExtractUidAndMapL( const CLiwMap& aMap, |
174 CLiwGenericParamList& aTarget ) |
171 CLiwGenericParamList& aTarget ) |
175 { |
172 { |
176 CP_DEBUG( _L8("CCPActionManager::ExtractUidAndMapL()") ); |
173 CP_DEBUG( _L8("CCPActionManager::ExtractUidAndMapL()") ); |
177 TLiwVariant variant; |
174 TLiwVariant variant; |
178 variant.PushL( ); |
175 variant.PushL( ); |
179 if ( aMap.FindL( KActionMap, variant ) ) |
176 if ( aMap.FindL( KActionMap, variant ) ) |
180 { |
177 { |
181 CLiwDefaultMap* map = CLiwDefaultMap::NewLC( ); |
178 TLiwVariant valueVariant; |
182 variant.Get( *map ); |
179 valueVariant.PushL( ); |
183 if ( map->FindL( KDataForActionHandler, variant ) ) |
180 if ( variant.TypeId() == EVariantTypeMap ) |
184 { |
181 { |
185 TLiwGenericParam param( KDataForActionHandler, variant); |
182 if ( variant.AsMap()->FindL( KDataForActionHandler, valueVariant ) ) |
186 aTarget.AppendL( param ); |
183 { |
187 } |
184 TLiwGenericParam param( KDataForActionHandler, valueVariant); |
188 if ( map->FindL( KPluginUid, variant ) ) |
185 aTarget.AppendL( param ); |
189 { |
186 } |
190 TLiwGenericParam param( KPluginUid, variant); |
187 if ( variant.AsMap()->FindL( KPluginUid, valueVariant ) ) |
191 aTarget.AppendL( param ); |
188 { |
192 } |
189 TLiwGenericParam param( KPluginUid, valueVariant); |
193 CleanupStack::PopAndDestroy( map ); |
190 aTarget.AppendL( param ); |
|
191 } |
|
192 } |
|
193 CleanupStack::PopAndDestroy( &valueVariant ); |
194 } |
194 } |
195 |
|
196 CleanupStack::PopAndDestroy( &variant ); |
195 CleanupStack::PopAndDestroy( &variant ); |
197 } |
196 } |
198 |
197 |