46 #include <SyncMLClient.h> |
46 #include <SyncMLClient.h> |
47 #include <SyncMLClientDM.h> |
47 #include <SyncMLClientDM.h> |
48 #include <e32property.h> |
48 #include <e32property.h> |
49 #include <centralrepository.h> |
49 #include <centralrepository.h> |
50 #include <DevManInternalCRKeys.h> |
50 #include <DevManInternalCRKeys.h> |
|
51 #include <httpdownloadmgrcommon.h> |
51 |
52 |
52 #include "NSmlPrivateAPI.h" |
53 #include "NSmlPrivateAPI.h" |
53 |
54 |
54 #include "nsmldmconst.h" |
55 #include "nsmldmconst.h" |
55 #include "ampskeys.h" |
56 #include "ampskeys.h" |
56 |
57 |
57 #include "nsmldmtreedbclient.h" |
58 #include "nsmldmtreedbclient.h" |
58 //#include "SyncService.h" |
59 #include "SyncService.h" |
59 #include "amprivateCRKeys.h" |
60 #include "amprivateCRKeys.h" |
60 #include <e32cmn.h> |
61 #include <e32cmn.h> |
61 #include <SWInstDefs.h> |
62 #include <SWInstDefs.h> |
62 |
63 |
63 #ifdef __TARM_SYMBIAN_CONVERGENCY |
64 #ifdef __TARM_SYMBIAN_CONVERGENCY |
252 MSmlDmDDFObject& inv = am.AddChildObjectL(KAMInventoryNodeName); |
249 MSmlDmDDFObject& inv = am.AddChildObjectL(KAMInventoryNodeName); |
253 FillNodeInfoL(inv, accessTypesGet, MSmlDmDDFObject::EOne, |
250 FillNodeInfoL(inv, accessTypesGet, MSmlDmDDFObject::EOne, |
254 MSmlDmDDFObject::EPermanent, MSmlDmDDFObject::ENode, |
251 MSmlDmDDFObject::EPermanent, MSmlDmDDFObject::ENode, |
255 KAMInventoryNodeDescription); |
252 KAMInventoryNodeDescription); |
256 |
253 |
257 RDEBUG( "CSCOMOAdapter::DDFStructureL(): Step 3" ); |
|
258 |
|
259 /* |
254 /* |
260 Node: ./SCOMO/Inventory/Delivered |
255 Node: ./SCOMO/Inventory/Delivered |
261 This is node under which applications that are delivered but not installed are found. |
256 This is node under which applications that are delivered but not installed are found. |
262 Support: Mandatory |
257 Support: Mandatory |
263 Occurs: One |
258 Occurs: One |
268 MSmlDmDDFObject& del = inv.AddChildObjectL(KAMDeliveredNodeName); |
263 MSmlDmDDFObject& del = inv.AddChildObjectL(KAMDeliveredNodeName); |
269 FillNodeInfoL(del, accessTypesGetAdd, MSmlDmDDFObject::EOne, |
264 FillNodeInfoL(del, accessTypesGetAdd, MSmlDmDDFObject::EOne, |
270 MSmlDmDDFObject::EPermanent, MSmlDmDDFObject::ENode, |
265 MSmlDmDDFObject::EPermanent, MSmlDmDDFObject::ENode, |
271 KAMDeliveredNodeDescription); |
266 KAMDeliveredNodeDescription); |
272 |
267 |
273 RDEBUG( "CSCOMOAdapter::DDFStructureL(): Step 4" ); |
|
274 |
|
275 /* |
268 /* |
276 Node: ./SCOMO/Inventory/Deployed |
269 Node: ./SCOMO/Inventory/Deployed |
277 This is a node under which active applications are found. |
270 This is a node under which active applications are found. |
278 The child node descriptions are same as Delivered sibling node, except that <X> cannot be created, data node does not exist and there's no InstallOpts leaf. |
271 The child node descriptions are same as Delivered sibling node, except that <X> cannot be created, data node does not exist and there's no InstallOpts leaf. |
279 Support: Mandatory |
272 Support: Mandatory |
286 MSmlDmDDFObject& ac = inv.AddChildObjectL(KAMDeployedNodeName); |
279 MSmlDmDDFObject& ac = inv.AddChildObjectL(KAMDeployedNodeName); |
287 FillNodeInfoL(ac, accessTypesGet, MSmlDmDDFObject::EOne, |
280 FillNodeInfoL(ac, accessTypesGet, MSmlDmDDFObject::EOne, |
288 MSmlDmDDFObject::EPermanent, MSmlDmDDFObject::ENode, |
281 MSmlDmDDFObject::EPermanent, MSmlDmDDFObject::ENode, |
289 KAMDeployedNodeDescription); |
282 KAMDeployedNodeDescription); |
290 |
283 |
291 |
|
292 RDEBUG( "CSCOMOAdapter::DDFStructureL(): Step 5" ); |
|
293 /* |
284 /* |
294 Node: ./SCOMO/Inventory/Delivered/<X> |
285 Node: ./SCOMO/Inventory/Delivered/<X> |
295 This dynamic node is placeholder applications that are in Delivered state. |
286 This dynamic node is placeholder applications that are in Delivered state. |
296 Support: Mandatory |
287 Support: Mandatory |
297 Occurs: ZeroOrMore |
288 Occurs: ZeroOrMore |
302 MSmlDmDDFObject& deldyna = del.AddChildObjectGroupL(); |
293 MSmlDmDDFObject& deldyna = del.AddChildObjectGroupL(); |
303 FillNodeInfoL(deldyna, accessTypesGetAddReplaceDelete, |
294 FillNodeInfoL(deldyna, accessTypesGetAddReplaceDelete, |
304 MSmlDmDDFObject::EZeroOrMore, MSmlDmDDFObject::EDynamic, |
295 MSmlDmDDFObject::EZeroOrMore, MSmlDmDDFObject::EDynamic, |
305 MSmlDmDDFObject::ENode, KAMDeliveredDynaNodeDescription); |
296 MSmlDmDDFObject::ENode, KAMDeliveredDynaNodeDescription); |
306 |
297 |
307 |
|
308 RDEBUG( "CSCOMOAdapter::DDFStructureL(): Step 6" ); |
|
309 /* |
298 /* |
310 Node: ./SCOMO/Inventory/Delivered/<X>/PkgID |
299 Node: ./SCOMO/Inventory/Delivered/<X>/PkgID |
311 This leaf node holds an identifier for an application. |
300 This leaf node holds an identifier for an application. |
312 Support: Mandatory |
301 Support: Mandatory |
313 Occurs: One |
302 Occurs: One |
318 MSmlDmDDFObject& delid = deldyna.AddChildObjectL(KAMPkgIDNodeName); |
307 MSmlDmDDFObject& delid = deldyna.AddChildObjectL(KAMPkgIDNodeName); |
319 FillNodeInfoL(delid, accessTypesGetAddReplace, MSmlDmDDFObject::EOne, |
308 FillNodeInfoL(delid, accessTypesGetAddReplace, MSmlDmDDFObject::EOne, |
320 MSmlDmDDFObject::EPermanent, MSmlDmDDFObject::EChr, |
309 MSmlDmDDFObject::EPermanent, MSmlDmDDFObject::EChr, |
321 KAMPkgIDNodeDescription); |
310 KAMPkgIDNodeDescription); |
322 |
311 |
323 RDEBUG( "CSCOMOAdapter::DDFStructureL(): Step 7" ); |
|
324 /* |
312 /* |
325 Node: ./SCOMO/Inventory/Delivered/<X>/Name |
313 Node: ./SCOMO/Inventory/Delivered/<X>/Name |
326 This leaf node holds name of an application. |
314 This leaf node holds name of an application. |
327 Support: Mandatory |
315 Support: Mandatory |
328 Occurs: One |
316 Occurs: One |
333 MSmlDmDDFObject& delname = deldyna.AddChildObjectL(KAMNameNodeName); |
321 MSmlDmDDFObject& delname = deldyna.AddChildObjectL(KAMNameNodeName); |
334 FillNodeInfoL(delname, accessTypesGetAddReplace, |
322 FillNodeInfoL(delname, accessTypesGetAddReplace, |
335 MSmlDmDDFObject::EZeroOrOne, MSmlDmDDFObject::EPermanent, |
323 MSmlDmDDFObject::EZeroOrOne, MSmlDmDDFObject::EPermanent, |
336 MSmlDmDDFObject::EChr, KAMNameNodeDescription); |
324 MSmlDmDDFObject::EChr, KAMNameNodeDescription); |
337 |
325 |
338 RDEBUG( "CSCOMOAdapter::DDFStructureL(): Step 8" ); |
326 |
339 /* |
327 /* |
340 Node: ./SCM/Inventory/Delivered/<X>/Status |
328 Node: ./SCM/Inventory/Delivered/<X>/Status |
341 This leaf node holds the status of the Delivered. The client updates the node value. |
329 This leaf node holds the status of the Delivered. The client updates the node value. |
342 The values are typically error codes of Operations done on delivered node |
330 The values are typically error codes of Operations done on delivered node |
343 Support: Mandatory |
331 Support: Mandatory |
349 MSmlDmDDFObject& delstatus = deldyna.AddChildObjectL(KAMStatusNodeName); |
337 MSmlDmDDFObject& delstatus = deldyna.AddChildObjectL(KAMStatusNodeName); |
350 FillNodeInfoL(delstatus, accessTypesGet, MSmlDmDDFObject::EOne, |
338 FillNodeInfoL(delstatus, accessTypesGet, MSmlDmDDFObject::EOne, |
351 MSmlDmDDFObject::EPermanent, MSmlDmDDFObject::EInt, |
339 MSmlDmDDFObject::EPermanent, MSmlDmDDFObject::EInt, |
352 KAMStatusNodeDescription); |
340 KAMStatusNodeDescription); |
353 |
341 |
354 |
|
355 RDEBUG( "CSCOMOAdapter::DDFStructureL(): Step 9" ); |
|
356 /* |
342 /* |
357 Node: ./SCOMO/Inventory/Delivered/<X>/PkgType |
343 Node: ./SCOMO/Inventory/Delivered/<X>/PkgType |
358 This leaf node holds an identifier for an application. |
344 This leaf node holds an identifier for an application. |
359 Support: Mandatory |
345 Support: Mandatory |
360 Occurs: One |
346 Occurs: One |
365 MSmlDmDDFObject& delpkgtype = deldyna.AddChildObjectL(KAMPkgTypeNodeName); |
351 MSmlDmDDFObject& delpkgtype = deldyna.AddChildObjectL(KAMPkgTypeNodeName); |
366 FillNodeInfoL(delpkgtype, accessTypesGetAddReplace, MSmlDmDDFObject::EZeroOrOne, |
352 FillNodeInfoL(delpkgtype, accessTypesGetAddReplace, MSmlDmDDFObject::EZeroOrOne, |
367 MSmlDmDDFObject::EPermanent, MSmlDmDDFObject::EChr, |
353 MSmlDmDDFObject::EPermanent, MSmlDmDDFObject::EChr, |
368 KAMPkgTypeNodeDescription); |
354 KAMPkgTypeNodeDescription); |
369 |
355 |
370 RDEBUG( "CSCOMOAdapter::DDFStructureL(): Step 10" ); |
356 |
371 /* |
357 /* |
372 Node: ./SCOMO/Inventory/Delivered/<X>/Data |
358 Node: ./SCOMO/Inventory/Delivered/<X>/Data |
373 This leaf node holds the data of an application. |
359 This leaf node holds the data of an application. |
374 Support: Mandatory |
360 Support: Mandatory |
375 Occurs: One |
361 Occurs: One |
380 MSmlDmDDFObject& delda = deldyna.AddChildObjectL(KAMDataNodeName); |
366 MSmlDmDDFObject& delda = deldyna.AddChildObjectL(KAMDataNodeName); |
381 FillNodeInfoNoDefaultMimeL(delda, accessTypesAddReplace, |
367 FillNodeInfoNoDefaultMimeL(delda, accessTypesAddReplace, |
382 MSmlDmDDFObject::EZeroOrOne, MSmlDmDDFObject::EPermanent, |
368 MSmlDmDDFObject::EZeroOrOne, MSmlDmDDFObject::EPermanent, |
383 MSmlDmDDFObject::EBin, KAMDataNodeDescription); |
369 MSmlDmDDFObject::EBin, KAMDataNodeDescription); |
384 |
370 |
385 RDEBUG( "CSCOMOAdapter::DDFStructureL(): Step 11" ); |
|
386 |
|
387 delda.AddDFTypeMimeTypeL(KSisxMimeType); |
371 delda.AddDFTypeMimeTypeL(KSisxMimeType); |
388 delda.AddDFTypeMimeTypeL(KSisMimeType); |
372 delda.AddDFTypeMimeTypeL(KSisMimeType); |
389 delda.AddDFTypeMimeTypeL(KPipMimeType); |
373 delda.AddDFTypeMimeTypeL(KPipMimeType); |
390 |
374 |
391 RDEBUG( "CSCOMOAdapter::DDFStructureL(): Step 12" ); |
|
392 |
|
393 FeatureManager::InitializeLibL(); |
375 FeatureManager::InitializeLibL(); |
394 if (FeatureManager::FeatureSupported(KFeatureIdJavaMIDP20) ) |
376 if (FeatureManager::FeatureSupported(KFeatureIdJavaMIDP20) ) |
395 { |
377 { |
396 RDEBUG( "CSCOMOAdapter::DDFStructureL(): Step 13" ); |
|
397 delda.AddDFTypeMimeTypeL(KJadMIMEType); |
378 delda.AddDFTypeMimeTypeL(KJadMIMEType); |
398 delda.AddDFTypeMimeTypeL(KJarMIMEType); |
379 delda.AddDFTypeMimeTypeL(KJarMIMEType); |
399 delda.AddDFTypeMimeTypeL(KJavaMIMEType); |
380 delda.AddDFTypeMimeTypeL(KJavaMIMEType); |
400 } |
381 } |
401 |
382 |
402 RDEBUG( "CSCOMOAdapter::DDFStructureL(): Step 14" ); |
|
403 FeatureManager::UnInitializeLib(); |
383 FeatureManager::UnInitializeLib(); |
404 |
384 |
405 /* |
385 /* |
406 Node: ./SCOMO/Inventory/Delivered/<X>/Description |
386 Node: ./SCOMO/Inventory/Delivered/<X>/Description |
407 This leaf node holds the possible metadata of an application. Descriptor can be for example such a data that is required by the actual data in the Data leaf, but for some reason they cannot be bundled into same package. An example is Java JAR and JAD file combination, in which JAD file could be placed in MetaData and JAR in Data leaf. |
387 This leaf node holds the possible metadata of an application. Descriptor can be for example such a data that is required by the actual data in the Data leaf, but for some reason they cannot be bundled into same package. An example is Java JAR and JAD file combination, in which JAD file could be placed in MetaData and JAR in Data leaf. |
414 MSmlDmDDFObject& delmd = deldyna.AddChildObjectL(KAMDescriptionNodeName); |
394 MSmlDmDDFObject& delmd = deldyna.AddChildObjectL(KAMDescriptionNodeName); |
415 FillNodeInfoL(delmd, accessTypesGetAddReplace, |
395 FillNodeInfoL(delmd, accessTypesGetAddReplace, |
416 MSmlDmDDFObject::EZeroOrOne, MSmlDmDDFObject::EPermanent, |
396 MSmlDmDDFObject::EZeroOrOne, MSmlDmDDFObject::EPermanent, |
417 MSmlDmDDFObject::EBin, KAMDescriptorNodeDescription); |
397 MSmlDmDDFObject::EBin, KAMDescriptorNodeDescription); |
418 |
398 |
419 RDEBUG( "CSCOMOAdapter::DDFStructureL(): Step 15" ); |
|
420 /* |
399 /* |
421 Node: ./SCOMO/Inventory/Delivered/<X>/State |
400 Node: ./SCOMO/Inventory/Delivered/<X>/State |
422 This leaf node holds state value of an application. |
401 This leaf node holds state value of an application. |
423 Support: ? |
402 Support: ? |
424 Occurs: One |
403 Occurs: One |
429 MSmlDmDDFObject& delstate = |
408 MSmlDmDDFObject& delstate = |
430 deldyna.AddChildObjectL(KAMStateValueNodeName); |
409 deldyna.AddChildObjectL(KAMStateValueNodeName); |
431 FillNodeInfoL(delstate, accessTypesGet, MSmlDmDDFObject::EOne, |
410 FillNodeInfoL(delstate, accessTypesGet, MSmlDmDDFObject::EOne, |
432 MSmlDmDDFObject::EPermanent, MSmlDmDDFObject::EChr, |
411 MSmlDmDDFObject::EPermanent, MSmlDmDDFObject::EChr, |
433 KAMStateValueNodeDescription); |
412 KAMStateValueNodeDescription); |
434 RDEBUG( "CSCOMOAdapter::DDFStructureL(): Step 16" ); |
413 |
435 /* |
414 /* |
436 Node: ./SCOMO/Inventory/Delivered/<X>/Operations |
415 Node: ./SCOMO/Inventory/Delivered/<X>/Operations |
437 This is a node that allows vendors to extend functionality. |
416 This is a node that allows vendors to extend functionality. |
438 Support: Optional |
417 Support: Optional |
439 Occurs: One |
418 Occurs: One |
549 */ |
528 */ |
550 MSmlDmDDFObject& deplver = depldyna.AddChildObjectL(KAMVersionNodeName); |
529 MSmlDmDDFObject& deplver = depldyna.AddChildObjectL(KAMVersionNodeName); |
551 FillNodeInfoL(deplver, accessTypesGetAddReplace, |
530 FillNodeInfoL(deplver, accessTypesGetAddReplace, |
552 MSmlDmDDFObject::EZeroOrOne, MSmlDmDDFObject::EPermanent, |
531 MSmlDmDDFObject::EZeroOrOne, MSmlDmDDFObject::EPermanent, |
553 MSmlDmDDFObject::EChr, KAMVersionNodeDescription); |
532 MSmlDmDDFObject::EChr, KAMVersionNodeDescription); |
554 RDEBUG( "CSCOMOAdapter::DDFStructureL(): Step 18" ); |
533 |
555 /* |
534 /* |
556 Node: ./SCOMO/Inventory/Deployed/<X>/Description |
535 Node: ./SCOMO/Inventory/Deployed/<X>/Description |
557 This leaf node holds the version of an application. |
536 This leaf node holds the version of an application. |
558 Support: Mandatory |
537 Support: Mandatory |
559 Occurs: One |
538 Occurs: One |
607 MSmlDmDDFObject& deplstate = |
586 MSmlDmDDFObject& deplstate = |
608 depldyna.AddChildObjectL(KAMStateValueNodeName); |
587 depldyna.AddChildObjectL(KAMStateValueNodeName); |
609 FillNodeInfoL(deplstate, accessTypesGet, MSmlDmDDFObject::EOne, |
588 FillNodeInfoL(deplstate, accessTypesGet, MSmlDmDDFObject::EOne, |
610 MSmlDmDDFObject::EPermanent, MSmlDmDDFObject::EChr, |
589 MSmlDmDDFObject::EPermanent, MSmlDmDDFObject::EChr, |
611 KAMStateValueNodeDescription); |
590 KAMStateValueNodeDescription); |
612 RDEBUG( "CSCOMOAdapter::DDFStructureL(): Step 19" ); |
591 |
613 /* |
592 /* |
614 Node: ./SCOMO/Inventory/Deployed/<X>/Operations |
593 Node: ./SCOMO/Inventory/Deployed/<X>/Operations |
615 This is a node that allows vendors to extend functionality. |
594 This is a node that allows vendors to extend functionality. |
616 Support: Optional |
595 Support: Optional |
617 Occurs: One |
596 Occurs: One |
638 */ |
617 */ |
639 MSmlDmDDFObject& deplrem = deplop.AddChildObjectL(KAMRemoveNodeName); |
618 MSmlDmDDFObject& deplrem = deplop.AddChildObjectL(KAMRemoveNodeName); |
640 FillNodeInfoL(deplrem, accessTypesExecReplace, MSmlDmDDFObject::EOne, |
619 FillNodeInfoL(deplrem, accessTypesExecReplace, MSmlDmDDFObject::EOne, |
641 MSmlDmDDFObject::EPermanent, MSmlDmDDFObject::ENode, |
620 MSmlDmDDFObject::EPermanent, MSmlDmDDFObject::ENode, |
642 KAMRemoveNodeDescription); |
621 KAMRemoveNodeDescription); |
643 RDEBUG( "CSCOMOAdapter::DDFStructureL(): Step 20" ); |
622 |
644 /* |
623 /* |
645 Node: ./SCOMO/Inventory/Deployed/<X>/Operations/Activate |
624 Node: ./SCOMO/Inventory/Deployed/<X>/Operations/Activate |
646 Exec command causes device to activate an application. |
625 Exec command causes device to activate an application. |
647 Support: Mandatory |
626 Support: Mandatory |
648 Occurs: One |
627 Occurs: One |
715 */ |
694 */ |
716 MSmlDmDDFObject& dowid = dowdyna.AddChildObjectL(KAMPkgIDNodeName); |
695 MSmlDmDDFObject& dowid = dowdyna.AddChildObjectL(KAMPkgIDNodeName); |
717 FillNodeInfoL(dowid, accessTypesGetAddReplace, MSmlDmDDFObject::EOne, |
696 FillNodeInfoL(dowid, accessTypesGetAddReplace, MSmlDmDDFObject::EOne, |
718 MSmlDmDDFObject::EPermanent, MSmlDmDDFObject::EChr, |
697 MSmlDmDDFObject::EPermanent, MSmlDmDDFObject::EChr, |
719 KAMPkgIDNodeDescription); |
698 KAMPkgIDNodeDescription); |
720 RDEBUG( "CSCOMOAdapter::DDFStructureL(): Step 21" ); |
699 |
721 /* |
700 /* |
722 Node: ./SCOMO/Download/<X>/Name |
701 Node: ./SCOMO/Download/<X>/Name |
723 This leaf node holds name of an application. |
702 This leaf node holds name of an application. |
724 Support: Mandatory |
703 Support: Mandatory |
725 Occurs: One |
704 Occurs: One |
848 dowop.AddChildObjectL(KAMDownloadAndInstallAndInActivateNodeName); |
827 dowop.AddChildObjectL(KAMDownloadAndInstallAndInActivateNodeName); |
849 FillNodeInfoL(dowdownia, accessTypesExec, MSmlDmDDFObject::EOne, |
828 FillNodeInfoL(dowdownia, accessTypesExec, MSmlDmDDFObject::EOne, |
850 MSmlDmDDFObject::EPermanent, MSmlDmDDFObject::ENode, |
829 MSmlDmDDFObject::EPermanent, MSmlDmDDFObject::ENode, |
851 KAMDownloadAndInstallAndInActivateNodeName); |
830 KAMDownloadAndInstallAndInActivateNodeName); |
852 |
831 |
853 RDEBUG( "CSCOMOAdapter::DDFStructureL(): Step 22" ); |
832 |
854 #ifdef __AM_LASTERROR_NODE |
833 #ifdef __AM_LASTERROR_NODE |
855 MSmlDmDDFObject& amext = am.AddChildObjectL(KAMExtNodeName); |
834 MSmlDmDDFObject& amext = am.AddChildObjectL(KAMExtNodeName); |
856 FillNodeInfoL(amext, accessTypesGet, MSmlDmDDFObject::EOne, |
835 FillNodeInfoL(amext, accessTypesGet, MSmlDmDDFObject::EOne, |
857 MSmlDmDDFObject::EPermanent, MSmlDmDDFObject::ENode, |
836 MSmlDmDDFObject::EPermanent, MSmlDmDDFObject::ENode, |
858 KAMExtNodeDescription); |
837 KAMExtNodeDescription); |
862 MSmlDmDDFObject::EPermanent, MSmlDmDDFObject::EChr, |
841 MSmlDmDDFObject::EPermanent, MSmlDmDDFObject::EChr, |
863 KAMLastErrorDescription); |
842 KAMLastErrorDescription); |
864 #endif |
843 #endif |
865 |
844 |
866 // Ignore generic alert error status if any otherwise adapter fails to load |
845 // Ignore generic alert error status if any otherwise adapter fails to load |
867 RDEBUG( "CSCOMOAdapter::DDFStructureL(): Step 23" ); |
846 |
868 TRAP_IGNORE(SendPendingGenericAlertL()); |
847 TRAP_IGNORE(SendPendingGenericAlertL()); |
869 RDEBUG( "CSCOMOAdapter::DDFStructureL(): Step 24" ); |
848 if (GetAdapterValue() == KAMSCOMOAdapter) |
870 //if (GetAdapterValue() == KAMSCOMOAdapter) |
849 { |
871 { |
|
872 RDEBUG( "CSCOMOAdapter::DDFStructureL(): Step 25" ); |
|
873 CheckStateChangesL(); |
850 CheckStateChangesL(); |
874 SetAdapterValue(KAMDefaultValue); |
851 SetAdapterValue(KAMDefaultValue); |
875 } |
852 } |
876 RDEBUG( "CSCOMOAdapter::DDFStructureL(): Step 26" ); |
|
877 CheckAndAddPredefinedNodeL(); |
853 CheckAndAddPredefinedNodeL(); |
878 RDEBUG( "CSCOMOAdapter::DDFStructureL(): end" ); |
854 RDEBUG( "CSCOMOAdapter::DDFStructureL(): end" ); |
879 } |
855 } |
880 |
856 |
881 void CSCOMOAdapter::SendPendingGenericAlertL() |
857 void CSCOMOAdapter::SendPendingGenericAlertL() |
1760 TPtrC8 aclmapping(URISegsUpTo(aURI, 4) ); |
1753 TPtrC8 aclmapping(URISegsUpTo(aURI, 4) ); |
1761 SetMappingL(aclmapping, aTargetState, aLUID); |
1754 SetMappingL(aclmapping, aTargetState, aLUID); |
1762 iManagement.StateChangeComplete(aLuidi); |
1755 iManagement.StateChangeComplete(aLuidi); |
1763 |
1756 |
1764 DeactivateIfInactive(aLuidi, aTargetState); |
1757 DeactivateIfInactive(aLuidi, aTargetState); |
1765 aRet = EOk; |
1758 aRet = EExecSuccess; |
1766 } |
1759 } |
1767 else |
1760 else |
1768 { |
1761 { |
1769 RDEBUG_2( "CSCOMOAdapter::InstallL(): INSTALL FAILED '%d'" , err); |
1762 RDEBUG_2( "CSCOMOAdapter::InstallL(): INSTALL FAILED '%d'" , err); |
1770 MAPERROR( err, aRet, _L8("Install %d") ); |
1763 //MAPERROR( err, aRet, _L8("Install %d") ); |
|
1764 aRet = EExecInstallFailed; |
1771 } |
1765 } |
1772 } |
1766 } |
1773 |
1767 |
1774 // ------------------------------------------------------------------------------------------------ |
1768 // ------------------------------------------------------------------------------------------------ |
1775 // CSCOMOAdapter::DefaultMapError( const TInt aErr, TError &aRet ) |
1769 // CSCOMOAdapter::DefaultMapError( const TInt aErr, TError &aRet ) |
1859 // ------------------------------------------------------------------------------------------------ |
1853 // ------------------------------------------------------------------------------------------------ |
1860 void CSCOMOAdapter::ExecuteCommandL(const TDesC8& aURI, const TDesC8& aLUID, |
1854 void CSCOMOAdapter::ExecuteCommandL(const TDesC8& aURI, const TDesC8& aLUID, |
1861 const TDesC8& aArgument, const TDesC8& /*aType*/, TInt aStatusRef) |
1855 const TDesC8& aArgument, const TDesC8& /*aType*/, TInt aStatusRef) |
1862 { |
1856 { |
1863 |
1857 |
1864 #ifdef __TARM_SYMBIAN_CONVERGENCY //Done by Dipak |
1858 #ifdef __TARM_SYMBIAN_CONVERGENCY |
1865 TPtrC8 uriPtrc = NSmlDmURI::RemoveDotSlash(aURI); |
1859 TPtrC8 uriPtrc = NSmlDmURI::RemoveDotSlash(aURI); |
1866 #else |
1860 #else |
1867 //nothing |
1861 //nothing |
1868 #endif |
1862 #endif |
1869 |
1863 |
1870 RDEBUG8_3("CSCOMOAdapter::ExecuteCommandL(): begin, '%S', '%S'", &aURI, &aLUID ); |
1864 RDEBUG8_3("CSCOMOAdapter::ExecuteCommandL(): begin, '%S', '%S'", &aURI, &aLUID ); |
1871 SetAdapterValue(KAMSCOMOAdapter); |
1865 SetAdapterValue(KAMSCOMOAdapter); |
1872 CheckStateChangesL(); |
1866 CheckStateChangesL(); |
1873 TError ret(EError); |
1867 TError ret(EExecUndefError); |
1874 |
1868 |
1875 if (aLUID == KNullDesC8) |
1869 if (aLUID == KNullDesC8) |
1876 { |
1870 { |
1877 RDEBUG("CSCOMOAdapter::ExecuteCommandL(): WARNING no valid luid provided" ); |
1871 RDEBUG("CSCOMOAdapter::ExecuteCommandL(): WARNING no valid luid provided" ); |
1878 } |
1872 } |
1879 |
1873 |
1880 #ifdef __TARM_SYMBIAN_CONVERGENCY //Done by Dipak |
1874 #ifdef __TARM_SYMBIAN_CONVERGENCY |
1881 TInt cnt( NSmlDmURI::NumOfURISegs( uriPtrc ) ); |
1875 TInt cnt( NSmlDmURI::NumOfURISegs( uriPtrc ) ); |
1882 #else |
1876 #else |
1883 TInt cnt(NSmlDmURI::NumOfURISegs(aURI) ); |
1877 TInt cnt(NSmlDmURI::NumOfURISegs(aURI) ); |
1884 #endif |
1878 #endif |
1885 |
1879 |
2065 else |
2060 else |
2066 { |
2061 { |
2067 RDEBUG_2( "CSCOMOAdapter::ExecuteCommandL(): Remove FAILED '%d'", err); |
2062 RDEBUG_2( "CSCOMOAdapter::ExecuteCommandL(): Remove FAILED '%d'", err); |
2068 |
2063 |
2069 if (err == SwiUI::KSWInstErrUserCancel) |
2064 if (err == SwiUI::KSWInstErrUserCancel) |
2070 ret = EError; |
2065 ret = EExecUserCancelled; |
2071 else |
2066 else |
2072 MAPERROR( err, ret, _L8("Execute Remove %d") ); |
2067 MAPERROR( err, ret, _L8("Execute Remove %d") ); |
2073 } |
2068 } |
2074 } |
2069 } |
2075 else |
2070 else |
2076 { |
2071 { |
2077 ret = ENotFound; |
2072 ret = EExecRemoveFailed; |
2078 RDEBUG( "CSCOMOAdapter::ExecuteCommandL(): case 6 remove Not found node" ); |
2073 RDEBUG( "CSCOMOAdapter::ExecuteCommandL(): case 6 remove Not found node" ); |
2079 } |
2074 } |
|
2075 SetSCOMOTargetURIL(*iUriDel, mapping, ret); |
2080 } |
2076 } |
2081 else |
2077 else |
2082 if (mapping == KAMActivateNodeName) |
2078 if (mapping == KAMActivateNodeName) |
2083 { |
2079 { |
2084 //DBG_ARGS8( "CSCOMOAdapter::ExecuteCommandL(): Activating " ); |
2080 //DBG_ARGS8( "CSCOMOAdapter::ExecuteCommandL(): Activating " ); |
2126 } |
2124 } |
2127 if (iluid > 0) |
2125 if (iluid > 0) |
2128 { |
2126 { |
2129 TRAP_IGNORE(SessionL().DeactivateL( iluid ) ) |
2127 TRAP_IGNORE(SessionL().DeactivateL( iluid ) ) |
2130 ; |
2128 ; |
2131 ret = EOk; |
2129 ret = EExecSuccess; |
2132 //MAPERROR( erx, ret,_L8("Dectivate %d") ); |
2130 //MAPERROR( erx, ret,_L8("Dectivate %d") ); |
2133 } |
2131 } |
2134 else |
2132 else |
2135 { |
2133 { |
2136 ret = ENotFound; |
2134 ret = EExecDeactivateFailed; |
2137 RDEBUG( "CSCOMOAdapter::ExecuteCommandL(): case 6 DeActivate Not found node" ); |
2135 RDEBUG( "CSCOMOAdapter::ExecuteCommandL(): case 6 DeActivate Not found node" ); |
2138 } |
2136 } |
|
2137 |
|
2138 SetSCOMOTargetURIL(*iUriDel, mapping, ret); |
|
2139 |
2139 } |
2140 } |
2140 else |
2141 else |
2141 { |
2142 { |
2142 RDEBUG8_2( "CSCOMOAdapter::ExecuteCommandL(): ASKED NOT SUPPORTED OPERATION '%S'", &mapping ); |
2143 RDEBUG8_2( "CSCOMOAdapter::ExecuteCommandL(): ASKED NOT SUPPORTED OPERATION '%S'", &mapping ); |
2143 |
2144 |
2144 ret = EError; |
2145 ret = EExecUndefError; |
2145 } |
2146 } |
2146 break; |
2147 break; |
2147 } |
2148 } |
2148 |
2149 |
2149 default: |
2150 default: |
2150 { |
2151 { |
2151 RDEBUG8_3( "CSCOMOAdapter::ExecuteCommandL(): ILLEGAL LEVEL %d NODE %S", cnt, &aURI ); |
2152 RDEBUG8_3( "CSCOMOAdapter::ExecuteCommandL(): ILLEGAL LEVEL %d NODE %S", cnt, &aURI ); |
2152 |
2153 |
2153 ret = EInvalidObject; |
2154 ret = EExecUndefError; |
2154 break; |
2155 break; |
2155 } |
2156 } |
2156 } |
2157 } |
2157 SetStatusL(aStatusRef, ret) ; |
2158 SetStatusL(aStatusRef, ret) ; |
2158 } |
2159 } |
|
2160 |
|
2161 |
|
2162 void CSCOMOAdapter::SetSCOMOTargetURIL(const TDesC8& aURI, |
|
2163 const TDesC8& aMapping,const TError& aErrorStatus) |
|
2164 { |
|
2165 |
|
2166 RDEBUG( "CSCOMOAdapter:: SetSCOMOTargetURI" ); |
|
2167 |
|
2168 TInt cnt(NSmlDmURI::NumOfURISegs(aURI)); |
|
2169 _LIT8( KNSmlNull, "null" ); |
|
2170 |
|
2171 CRepository* cenrep = NULL; |
|
2172 TInt errr(KErrNone); |
|
2173 |
|
2174 TRAP(errr, cenrep = CRepository::NewL( KCRUidDeviceManagementInternalKeys )); |
|
2175 |
|
2176 if (errr == KErrNone) |
|
2177 { |
|
2178 |
|
2179 switch (cnt) |
|
2180 { |
|
2181 case 3: |
|
2182 { |
|
2183 |
|
2184 RDEBUG( "CSCOMOAdapter:: SetSCOMOTargetURI case 3" ); |
|
2185 |
|
2186 TInt ASyncSupported = -1; |
|
2187 |
|
2188 CRepository *repository = CRepository::NewLC( |
|
2189 KCRUidPrivateApplicationManagementKeys); |
|
2190 repository->Get(KAsyncEnabled, ASyncSupported); |
|
2191 CleanupStack::PopAndDestroy(); |
|
2192 |
|
2193 //means accepted for processing set <Target><LOCURI> to NULL. |
|
2194 if (ASyncSupported) |
|
2195 { |
|
2196 RDEBUG( "CSCOMOAdapter:: ASyncSupported" ); |
|
2197 |
|
2198 TInt err1 = cenrep->Set(KNSmlDMSCOMOTargetRef, KNSmlNull); |
|
2199 |
|
2200 RDEBUG_2( "CSCOMOAdapter:: ASyncSupported %d", err1 ); |
|
2201 |
|
2202 } |
|
2203 |
|
2204 } |
|
2205 break; |
|
2206 |
|
2207 case 4: |
|
2208 { |
|
2209 |
|
2210 RDEBUG( "CSCOMOAdapter:: SetSCOMOTargetURI case 4" ); |
|
2211 |
|
2212 if (aMapping == KAMRemoveNodeName) |
|
2213 { |
|
2214 |
|
2215 if (aErrorStatus == EExecSuccess) |
|
2216 { |
|
2217 cenrep->Set(KNSmlDMSCOMOTargetRef, KNSmlNull); |
|
2218 } |
|
2219 } |
|
2220 |
|
2221 if (aMapping == KAMActivateNodeName || aMapping |
|
2222 == KAMDeActivateNodeName) |
|
2223 { |
|
2224 |
|
2225 RDEBUG( "CSCOMOAdapter:: SetSCOMOTargetURI case KAMActivateNodeName or KAMDeActivateNodeName " ); |
|
2226 |
|
2227 if (aErrorStatus == EExecSuccess) |
|
2228 { |
|
2229 RDEBUG( "CSCOMOAdapter:: EExecSuccess " ); |
|
2230 _LIT8( KAMInitial, "./" ); |
|
2231 _LIT8( KAMSeparator8, "/" ); |
|
2232 _LIT8( KAMStateValueNodeName, "State" ); |
|
2233 TBuf8<256> targetStateURI; |
|
2234 targetStateURI.Append(KAMInitial); |
|
2235 targetStateURI.Append(aURI); |
|
2236 |
|
2237 targetStateURI.Append(KAMSeparator8); |
|
2238 targetStateURI.Append(KAMStateValueNodeName); |
|
2239 |
|
2240 cenrep->Set(KNSmlDMSCOMOTargetRef, targetStateURI); |
|
2241 RDEBUG( "CSCOMOAdapter:: EExecSuccess End" ); |
|
2242 } |
|
2243 else |
|
2244 { |
|
2245 cenrep->Set(KNSmlDMSCOMOTargetRef, KNSmlNull); |
|
2246 } |
|
2247 |
|
2248 } |
|
2249 |
|
2250 } |
|
2251 |
|
2252 break; |
|
2253 } |
|
2254 |
|
2255 } |
|
2256 |
|
2257 if (cenrep) |
|
2258 { |
|
2259 delete cenrep; |
|
2260 cenrep = NULL; |
|
2261 } |
|
2262 |
|
2263 } |
|
2264 |
2159 |
2265 |
2160 void CSCOMOAdapter::ASyncReportL(TUint32 aLuid, const TDesC8& aArgument, |
2266 void CSCOMOAdapter::ASyncReportL(TUint32 aLuid, const TDesC8& aArgument, |
2161 const TDownloadTarget aTarget,const TDesC8& aURI) |
2267 const TDownloadTarget aTarget,const TDesC8& aURI) |
2162 { |
2268 { |
|
2269 |
2163 // while sending generic alert |
2270 // while sending generic alert |
2164 // adapter uses entry stored in database and constructs generic alert |
2271 // adapter uses entry stored in database and constructs generic alert |
2165 // using SyncML framework API. |
2272 // using SyncML framework API. |
|
2273 |
2166 TInt index = 0; |
2274 TInt index = 0; |
|
2275 |
2167 // Default max retry count is 5. It is also cenep configurable |
2276 // Default max retry count is 5. It is also cenep configurable |
2168 // Cenrep configuration responsible can change the max retry |
2277 // Cenrep configuration responsible can change the max retry |
2169 // count |
2278 // count |
2170 TInt retrycount = 5; |
2279 TInt retrycount = 5; |
2171 |
2280 |
2199 RProperty counter; |
2308 RProperty counter; |
2200 TInt r=counter.Attach(KUidPSApplicationManagementKeys, KSyncNotifier, |
2309 TInt r=counter.Attach(KUidPSApplicationManagementKeys, KSyncNotifier, |
2201 EOwnerThread); |
2310 EOwnerThread); |
2202 User::LeaveIfError(r); |
2311 User::LeaveIfError(r); |
2203 |
2312 |
2204 /*CSyncService *syncService = CSyncService::NewL(NULL, KDevManServiceStart); |
2313 CSyncService *syncService = CSyncService::NewL(NULL, KDevManServiceStart); |
2205 if (syncService) |
2314 if (syncService) |
2206 { |
2315 { |
2207 syncService->EnableProgressNoteL(EFalse); |
2316 syncService->EnableProgressNoteL(EFalse); |
2208 } |
2317 } |
2209 |
2318 |
2210 delete syncService;*/ |
2319 delete syncService; |
2211 |
2320 |
2212 // wait for the previously attached ‘counter’ property to be updated |
2321 // wait for the previously attached ‘counter’ property to be updated |
2213 TRequestStatus s; |
2322 TRequestStatus s; |
2214 counter.Subscribe(s); |
2323 counter.Subscribe(s); |
2215 User::WaitForRequest(s); |
2324 User::WaitForRequest(s); |
2220 |
2329 |
2221 switch(status) |
2330 switch(status) |
2222 { |
2331 { |
2223 case KStatusUserCancelled: |
2332 case KStatusUserCancelled: |
2224 { |
2333 { |
2225 aRet = MSmlDmAdapter::EError; |
2334 aRet = MSmlDmAdapter::EExecUserCancelled; |
2226 break; |
2335 break; |
2227 } |
2336 } |
2228 |
2337 |
2229 case KStatusDowloadFailedOOM: |
2338 case KStatusDowloadFailedOOM: |
2230 { |
2339 { |
2231 aRet = MSmlDmAdapter::EError; |
2340 aRet = MSmlDmAdapter::EExecDownFailOOM; |
2232 break; |
2341 break; |
2233 } |
2342 } |
2234 |
2343 |
2235 case KStatusAlternateDownldAuthFail: |
2344 case KStatusAlternateDownldAuthFail: |
2236 { |
2345 { |
2237 aRet = MSmlDmAdapter::EError; |
2346 aRet = MSmlDmAdapter::EExecAltDwnldAuthFail; |
2238 break; |
2347 break; |
2239 } |
2348 } |
2240 |
2349 |
2241 case KStatusDownloadFailed: |
2350 case KStatusDownloadFailed: |
2242 { |
2351 { |
2243 aRet = MSmlDmAdapter::EError; |
2352 aRet = MSmlDmAdapter::EExecDownloadFailed; |
2244 break; |
2353 break; |
2245 } |
2354 } |
2246 |
2355 |
2247 case KStatusPkgValidationFailed: |
2356 case KStatusPkgValidationFailed: |
2248 { |
2357 { |
2249 aRet = MSmlDmAdapter::EError; |
2358 aRet = MSmlDmAdapter::EExecPkgValidationFail; |
2250 break; |
2359 break; |
2251 } |
2360 } |
2252 |
2361 |
2253 case KStatusInstallFailedOOM: |
2362 case KStatusInstallFailedOOM: |
2254 { |
2363 { |
2255 aRet = MSmlDmAdapter::EError; |
2364 aRet = MSmlDmAdapter::EExecInstallOOM; |
2256 break; |
2365 break; |
2257 } |
2366 } |
2258 |
2367 |
2259 case KStatusInstallFailed: |
2368 case KStatusInstallFailed: |
2260 { |
2369 { |
2261 aRet = MSmlDmAdapter::EError; |
2370 aRet = MSmlDmAdapter::EExecInstallFailed; |
2262 break; |
2371 break; |
2263 } |
2372 } |
2264 |
2373 |
2265 case KStatusUnSupportedEnvironment: |
2374 case KStatusUnSupportedEnvironment: |
2266 { |
2375 { |
2267 aRet = MSmlDmAdapter::EError; |
2376 aRet = MSmlDmAdapter::EExecOperationReject; |
2268 break; |
2377 break; |
2269 } |
2378 } |
2270 |
2379 |
2271 case KStatusAltDowldUnavailable: |
2380 case KStatusAltDowldUnavailable: |
2272 { |
2381 { |
2273 aRet = MSmlDmAdapter::EError; |
2382 aRet = MSmlDmAdapter::EExecAltDwnldSrvUnavailable; |
2274 break; |
2383 break; |
2275 } |
2384 } |
2276 |
2385 |
2277 default: |
2386 default: |
2278 { |
2387 { |
2279 aRet = MSmlDmAdapter::EOk; |
2388 aRet = MSmlDmAdapter::EExecSuccess; |
2280 break; |
2389 break; |
2281 } |
2390 } |
2282 } |
2391 } |
2283 |
2392 |
2284 |
2393 |
4361 return value; |
4470 return value; |
4362 } |
4471 } |
4363 void CSCOMOAdapter::CheckAndAddPredefinedNodeL() |
4472 void CSCOMOAdapter::CheckAndAddPredefinedNodeL() |
4364 { |
4473 { |
4365 |
4474 |
4366 RDEBUG("CSCOMOAdapter::CheckAndAddPredefinedNodeL(): begin"); |
|
4367 |
|
4368 // Check if SCOMODefault node addition is enabled. |
4475 // Check if SCOMODefault node addition is enabled. |
4369 TInt staticnodeenabled = 0; |
4476 TInt staticnodeenabled = 0; |
4370 CRepository* cenrep = CRepository::NewLC( KCRUidPrivateApplicationManagementKeys ); |
4477 CRepository* cenrep = CRepository::NewLC( KCRUidPrivateApplicationManagementKeys ); |
4371 cenrep->Get( KAMStaticNodeEnabled, staticnodeenabled ); |
4478 cenrep->Get( KAMStaticNodeEnabled, staticnodeenabled ); |
4372 CleanupStack::PopAndDestroy(); //cenrep |
4479 CleanupStack::PopAndDestroy(); //cenrep |
4373 |
4480 |
4374 RDEBUG("CSCOMOAdapter::CheckAndAddPredefinedNodeL(): step1"); |
4481 |
4375 |
|
4376 if(staticnodeenabled) |
4482 if(staticnodeenabled) |
4377 { |
4483 { |
4378 TBuf8<KMaxFullName> temp; |
4484 TBuf8<KMaxFullName> temp; |
4379 |
|
4380 RDEBUG("CSCOMOAdapter::CheckAndAddPredefinedNodeL(): step2"); |
|
4381 GetPredefinedNodeL(temp); |
4485 GetPredefinedNodeL(temp); |
4382 |
|
4383 RDEBUG("CSCOMOAdapter::CheckAndAddPredefinedNodeL(): step3"); |
|
4384 if (temp.Length()) |
4486 if (temp.Length()) |
4385 { |
4487 { |
4386 |
4488 |
4387 |
|
4388 RDEBUG("CSCOMOAdapter::CheckAndAddPredefinedNodeL(): step4"); |
|
4389 TBuf8<KMaxFullName> temp1; |
4489 TBuf8<KMaxFullName> temp1; |
4390 temp1.Zero(); |
4490 temp1.Zero(); |
4391 temp1.Copy(KAMNodeName); |
4491 temp1.Copy(KAMNodeName); |
4392 temp1.Append(KAMSeparator8); |
4492 temp1.Append(KAMSeparator8); |
4393 temp1.Append(KAMDownloadNodeName); |
4493 temp1.Append(KAMDownloadNodeName); |
4394 temp1.Append(KAMSeparator8); |
4494 temp1.Append(KAMSeparator8); |
4395 temp1.Append(temp); |
4495 temp1.Append(temp); |
4396 |
|
4397 HBufC8* luid = DirectGetLuidAllocLC(temp1); |
4496 HBufC8* luid = DirectGetLuidAllocLC(temp1); |
4398 |
|
4399 RDEBUG("CSCOMOAdapter::CheckAndAddPredefinedNodeL(): step5"); |
|
4400 |
4497 |
4401 if (luid->Length() > 0) |
4498 if (luid->Length() > 0) |
4402 { |
4499 { |
4403 CleanupStack::PopAndDestroy(luid); |
4500 CleanupStack::PopAndDestroy(luid); |
4404 return; |
4501 return; |
4405 } |
4502 } |
4406 else |
4503 else |
4407 { |
4504 { |
4408 RDEBUG("CSCOMOAdapter::CheckAndAddPredefinedNodeL(): step6"); |
|
4409 // Not found, add node and mapping ... |
4505 // Not found, add node and mapping ... |
4410 //TError status(EError); |
4506 //TError status(EError); |
4411 TPtrC8 mapping(NSmlDmURI::LastURISeg(temp1) ); |
4507 TPtrC8 mapping(NSmlDmURI::LastURISeg(temp1) ); |
4412 TPtrC8 parent(NSmlDmURI::RemoveLastSeg(temp1) ); |
4508 TPtrC8 parent(NSmlDmURI::RemoveLastSeg(temp1) ); |
4413 TPtrC8 parentMapping(NSmlDmURI::LastURISeg(parent) ); |
4509 TPtrC8 parentMapping(NSmlDmURI::LastURISeg(parent) ); |
4414 TInt cnt(NSmlDmURI::NumOfURISegs(temp1) ); |
4510 TInt cnt(NSmlDmURI::NumOfURISegs(temp1) ); |
4415 RDEBUG("CSCOMOAdapter::CheckAndAddPredefinedNodeL(): step7"); |
|
4416 TUint32 newLuid(SessionL().DownloadL(mapping)); |
4511 TUint32 newLuid(SessionL().DownloadL(mapping)); |
4417 //Callback().SetMappingL( temp1, *IntToDes8LC( newLuid ) ); |
4512 //Callback().SetMappingL( temp1, *IntToDes8LC( newLuid ) ); |
4418 //CleanupStack::PopAndDestroy(); |
4513 //CleanupStack::PopAndDestroy(); |
4419 RDEBUG("CSCOMOAdapter::CheckAndAddPredefinedNodeL(): step8"); |
|
4420 DirectSetMappingL(temp1, *IntToDes8LC(newLuid) ); |
4514 DirectSetMappingL(temp1, *IntToDes8LC(newLuid) ); |
4421 RDEBUG("CSCOMOAdapter::CheckAndAddPredefinedNodeL(): step9"); |
|
4422 CleanupStack::PopAndDestroy(); // for IntToDes8LC() |
4515 CleanupStack::PopAndDestroy(); // for IntToDes8LC() |
4423 CleanupStack::PopAndDestroy(luid); |
4516 CleanupStack::PopAndDestroy(luid); |
4424 } |
4517 } |
4425 } |
4518 } |
4426 } |
4519 } |
4496 { |
4587 { |
4497 isSupportedMimeType = ETrue; |
4588 isSupportedMimeType = ETrue; |
4498 } |
4589 } |
4499 return isSupportedMimeType; |
4590 return isSupportedMimeType; |
4500 } |
4591 } |
|
4592 |
|
4593 HBufC8* CSCOMOAdapter::GetIdentifierIdL(const TUint32 aluid) |
|
4594 { |
|
4595 RDEBUG( "CSCOMOAdapter::GetIdentifierIdL: const TUint32 aluid, const TDesC8& aTargetUri" ); |
|
4596 |
|
4597 _LIT8(KNull, "null"); |
|
4598 TDeploymentComponent comp; |
|
4599 HBufC8 *id = NULL; |
|
4600 TInt err(SessionL().DeploymentComponent(aluid, comp) ); |
|
4601 RDEBUG( "CSCOMOAdapter::GetIdentifierIdL: Step 1" ); |
|
4602 |
|
4603 if(err == KErrNone) |
|
4604 { |
|
4605 RDEBUG( "CSCOMOAdapter::GetIdentifierIdL: Step 1.1" ); |
|
4606 if(comp.iState == EDCSDelivered || comp.iState ==EDCSDownload) |
|
4607 { |
|
4608 RDEBUG( "CSCOMOAdapter::GetIdentifierIdL: iState EDCSActive,EDCSInactive" ); |
|
4609 id = (comp.iPkgID).AllocL(); |
|
4610 } |
|
4611 else if(comp.iState==EDCSActive || comp.iState ==EDCSInactive) |
|
4612 { |
|
4613 RDEBUG( "CSCOMOAdapter::GetIdentifierIdL: iState EDCSDelivered,EDCSDownload" ); |
|
4614 id = (comp.iId).AllocL(); |
|
4615 } |
|
4616 else |
|
4617 { |
|
4618 id = KNull().AllocL(); |
|
4619 } |
|
4620 } |
|
4621 RDEBUG( "CSCOMOAdapter::GetIdentifierIdL: Step 1 end" ); |
|
4622 return id; |
|
4623 } |
4501 // End of File |
4624 // End of File |
4502 |
4625 |