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