# HG changeset patch # User hgs # Date 1269381355 -7200 # Node ID 7f0462e8c3dac86ded21b0524dbb4d4f0910dc66 # Parent 9d806967057c1c04b5121c9582e17484ff5ccd8d 201009 diff -r 9d806967057c -r 7f0462e8c3da common.pri --- a/common.pri Tue Mar 23 23:42:03 2010 +0200 +++ b/common.pri Tue Mar 23 23:55:55 2010 +0200 @@ -86,6 +86,36 @@ $$PWD/homescreensrv_plat/homescreen_information_api/inc } +plugin: !isEmpty(PLUGIN_SUBDIR): DESTDIR = $$OUTPUT_DIR/$$PLUGIN_SUBDIR + +win32: plugin { # copy manifiers + manifest.path = $$DESTDIR + manifest.files = ./resource/*.manifest ./resource/*.xml + manifest.CONFIG += no_build + + INSTALLS += manifest + PRE_TARGETDEPS += install_manifest + +} + +symbian: plugin { # copy qtstub and manifest + + pluginstub.sources = $${TARGET}.dll + pluginstub.path = $$PLUGIN_SUBDIR + + DEPLOYMENT += pluginstub + + qtplugins.path = $$PLUGIN_SUBDIR + qtplugins.sources += qmakepluginstubs/$${TARGET}.qtplugin + + message(Remove "contains(MOBILITY, serviceframework)" after the QtSF refactorig is done!) + + !contains(MOBILITY, serviceframework):qtplugins.sources += resource/$${TARGET}.manifest + contains(MOBILITY, serviceframework):BLD_INF_RULES.prj_exports += "resource/$${TARGET}.xml z:$$qtplugins.path/$${TARGET}.xml" + + for(qtplugin, qtplugins.sources):BLD_INF_RULES.prj_exports += "./$$qtplugin z:$$qtplugins.path/$$basename(qtplugin)" +} + defineTest(exportResources) { symbian { for(subdirs, 1) { diff -r 9d806967057c -r 7f0462e8c3da contentstorage/bwins/caextendedmenuu.def --- a/contentstorage/bwins/caextendedmenuu.def Tue Mar 23 23:42:03 2010 +0200 +++ b/contentstorage/bwins/caextendedmenuu.def Tue Mar 23 23:55:55 2010 +0200 @@ -1,12 +1,3 @@ EXPORTS - ??0CCaHandler@@IAE@XZ @ 1 NONAME ; CCaHandler::CCaHandler(void) - ??1CCaHandler@@UAE@XZ @ 2 NONAME ; CCaHandler::~CCaHandler(void) - ??1CCaHandlerEngine@@UAE@XZ @ 3 NONAME ; CCaHandlerEngine::~CCaHandlerEngine(void) - ?BaseConstructL@CCaHandler@@IAEXXZ @ 4 NONAME ; void CCaHandler::BaseConstructL(void) - ?GetItemIcon@CaMenuIconUtility@@SAPAVCAknIcon@@ABVCCaInnerEntry@@@Z @ 5 NONAME ; class CAknIcon * CaMenuIconUtility::GetItemIcon(class CCaInnerEntry const &) - ?HandleCommandL@CCaHandler@@UAEXAAVCCaInnerEntry@@ABVTDesC8@@@Z @ 6 NONAME ; void CCaHandler::HandleCommandL(class CCaInnerEntry &, class TDesC8 const &) - ?HandleCommandL@CCaHandlerEngine@@QAEXAAVCCaInnerEntry@@ABVTDesC8@@@Z @ 7 NONAME ; void CCaHandlerEngine::HandleCommandL(class CCaInnerEntry &, class TDesC8 const &) - ?NewL@CCaHandlerEngine@@SAPAV1@XZ @ 8 NONAME ; class CCaHandlerEngine * CCaHandlerEngine::NewL(void) - ?NewLC@CCaHandlerEngine@@SAPAV1@XZ @ 9 NONAME ; class CCaHandlerEngine * CCaHandlerEngine::NewLC(void) - ?SupportsType@CCaHandler@@UAEHABVTDesC16@@@Z @ 10 NONAME ; int CCaHandler::SupportsType(class TDesC16 const &) + ?GetItemIcon@CaMenuIconUtility@@SAPAVCAknIcon@@ABVCCaInnerEntry@@@Z @ 1 NONAME ; class CAknIcon * CaMenuIconUtility::GetItemIcon(class CCaInnerEntry const &) diff -r 9d806967057c -r 7f0462e8c3da contentstorage/bwins/cautilsu.def --- a/contentstorage/bwins/cautilsu.def Tue Mar 23 23:42:03 2010 +0200 +++ b/contentstorage/bwins/cautilsu.def Tue Mar 23 23:55:55 2010 +0200 @@ -1,89 +1,91 @@ EXPORTS - ?AddAttributeL@CCaInnerEntry@@QAEXABVTDesC16@@0@Z @ 1 NONAME ; void CCaInnerEntry::AddAttributeL(class TDesC16 const &, class TDesC16 const &) - ?Exist@RCaEntryAttrArray@@QAEHABVTDesC16@@@Z @ 2 NONAME ; int RCaEntryAttrArray::Exist(class TDesC16 const &) - ?ExternalizeL@CCaInnerEntry@@QBEXAAVRWriteStream@@@Z @ 3 NONAME ; void CCaInnerEntry::ExternalizeL(class RWriteStream &) const - ?ExternalizeL@CCaInnerNotifierFilter@@QBEXAAVRWriteStream@@@Z @ 4 NONAME ; void CCaInnerNotifierFilter::ExternalizeL(class RWriteStream &) const - ?ExternalizeL@CCaInnerQuery@@QBEXAAVRWriteStream@@@Z @ 5 NONAME ; void CCaInnerQuery::ExternalizeL(class RWriteStream &) const - ?ExternalizeL@RCaEntriesArray@@QBEXAAVRWriteStream@@@Z @ 6 NONAME ; void RCaEntriesArray::ExternalizeL(class RWriteStream &) const - ?ExternalizeL@RCaIdsArray@@QBEXAAVRWriteStream@@@Z @ 7 NONAME ; void RCaIdsArray::ExternalizeL(class RWriteStream &) const - ?Find@RCaEntryAttrArray@@QAEHABVTDesC16@@AAVTDes16@@@Z @ 8 NONAME ; int RCaEntryAttrArray::Find(class TDesC16 const &, class TDes16 &) - ?FindAttribute@CCaInnerEntry@@QAEHABVTDesC16@@AAVTDes16@@@Z @ 9 NONAME ; int CCaInnerEntry::FindAttribute(class TDesC16 const &, class TDes16 &) - ?GetAttributeName@CCaLocalizationEntry@@QBEABVRBuf16@@XZ @ 10 NONAME ; class RBuf16 const & CCaLocalizationEntry::GetAttributeName(void) const - ?GetAttributes@CCaInnerEntry@@QBEABVRCaEntryAttrArray@@XZ @ 11 NONAME ; class RCaEntryAttrArray const & CCaInnerEntry::GetAttributes(void) const - ?GetCount@CCaInnerQuery@@QBEIXZ @ 12 NONAME ; unsigned int CCaInnerQuery::GetCount(void) const - ?GetDescription@CCaInnerEntry@@QBEABVRBuf16@@XZ @ 13 NONAME ; class RBuf16 const & CCaInnerEntry::GetDescription(void) const - ?GetEntryRole@CCaInnerNotifierFilter@@QBE?AW4TEntryRole@@XZ @ 14 NONAME ; enum TEntryRole CCaInnerNotifierFilter::GetEntryRole(void) const - ?GetEntryTypeName@CCaInnerEntry@@QBEABVRBuf16@@XZ @ 15 NONAME ; class RBuf16 const & CCaInnerEntry::GetEntryTypeName(void) const - ?GetEntryTypeNames@CCaInnerQuery@@QBEPBVCDesC16ArrayFlat@@XZ @ 16 NONAME ; class CDesC16ArrayFlat const * CCaInnerQuery::GetEntryTypeNames(void) const - ?GetFlags@CCaInnerEntry@@QBEIXZ @ 17 NONAME ; unsigned int CCaInnerEntry::GetFlags(void) const - ?GetFlagsOff@CCaInnerQuery@@QBEIXZ @ 18 NONAME ; unsigned int CCaInnerQuery::GetFlagsOff(void) const - ?GetFlagsOn@CCaInnerQuery@@QBEIXZ @ 19 NONAME ; unsigned int CCaInnerQuery::GetFlagsOn(void) const - ?GetIcon@CCaInnerEntry@@QBEABUTIconAttributes@1@XZ @ 20 NONAME ; struct CCaInnerEntry::TIconAttributes const & CCaInnerEntry::GetIcon(void) const - ?GetIconId@CCaInnerEntry@@QBEHXZ @ 21 NONAME ; int CCaInnerEntry::GetIconId(void) const - ?GetId@CCaInnerEntry@@QBEHXZ @ 22 NONAME ; int CCaInnerEntry::GetId(void) const - ?GetIds@CCaInnerNotifierFilter@@QBE?AV?$RArray@H@@XZ @ 23 NONAME ; class RArray CCaInnerNotifierFilter::GetIds(void) const - ?GetIds@CCaInnerQuery@@QBEABV?$RArray@H@@XZ @ 24 NONAME ; class RArray const & CCaInnerQuery::GetIds(void) const - ?GetLocalizedString@CCaLocalizationEntry@@QBEABVRBuf16@@XZ @ 25 NONAME ; class RBuf16 const & CCaLocalizationEntry::GetLocalizedString(void) const - ?GetNotifierType@CCaInnerNotifierFilter@@QBE?AW4TNotifierType@1@XZ @ 26 NONAME ; enum CCaInnerNotifierFilter::TNotifierType CCaInnerNotifierFilter::GetNotifierType(void) const - ?GetParentId@CCaInnerNotifierFilter@@QBEHXZ @ 27 NONAME ; int CCaInnerNotifierFilter::GetParentId(void) const - ?GetParentId@CCaInnerQuery@@QBEHXZ @ 28 NONAME ; int CCaInnerQuery::GetParentId(void) const - ?GetRole@CCaInnerEntry@@QBEIXZ @ 29 NONAME ; unsigned int CCaInnerEntry::GetRole(void) const - ?GetRole@CCaInnerQuery@@QBEHXZ @ 30 NONAME ; int CCaInnerQuery::GetRole(void) const - ?GetRowId@CCaLocalizationEntry@@QBEHXZ @ 31 NONAME ; int CCaLocalizationEntry::GetRowId(void) const - ?GetSort@CCaInnerQuery@@QBE?AW4TSortAttribute@1@XZ @ 32 NONAME ; enum CCaInnerQuery::TSortAttribute CCaInnerQuery::GetSort(void) const - ?GetStringId@CCaLocalizationEntry@@QBEABVRBuf16@@XZ @ 33 NONAME ; class RBuf16 const & CCaLocalizationEntry::GetStringId(void) const - ?GetTUint@MenuUtils@@SAHABVTDesC16@@AAI@Z @ 34 NONAME ; int MenuUtils::GetTUint(class TDesC16 const &, unsigned int &) - ?GetTableName@CCaLocalizationEntry@@QBEABVRBuf16@@XZ @ 35 NONAME ; class RBuf16 const & CCaLocalizationEntry::GetTableName(void) const - ?GetText@CCaInnerEntry@@QBEABVRBuf16@@XZ @ 36 NONAME ; class RBuf16 const & CCaInnerEntry::GetText(void) const - ?GetTextId@CCaLocalizationEntry@@QBEHXZ @ 37 NONAME ; int CCaLocalizationEntry::GetTextId(void) const - ?GetTypeNames@CCaInnerNotifierFilter@@QBEPAVCDesC16ArrayFlat@@XZ @ 38 NONAME ; class CDesC16ArrayFlat * CCaInnerNotifierFilter::GetTypeNames(void) const - ?GetUid@CCaInnerEntry@@QBEJXZ @ 39 NONAME ; long CCaInnerEntry::GetUid(void) const - ?GetUid@CCaInnerQuery@@QBEIXZ @ 40 NONAME ; unsigned int CCaInnerQuery::GetUid(void) const - ?InternalizeL@CCaInnerEntry@@QAEXAAVRReadStream@@@Z @ 41 NONAME ; void CCaInnerEntry::InternalizeL(class RReadStream &) - ?InternalizeL@CCaInnerNotifierFilter@@QAEXAAVRReadStream@@@Z @ 42 NONAME ; void CCaInnerNotifierFilter::InternalizeL(class RReadStream &) - ?InternalizeL@CCaInnerQuery@@QAEXAAVRReadStream@@@Z @ 43 NONAME ; void CCaInnerQuery::InternalizeL(class RReadStream &) - ?InternalizeL@RCaEntriesArray@@QAEXAAVRReadStream@@@Z @ 44 NONAME ; void RCaEntriesArray::InternalizeL(class RReadStream &) - ?InternalizeL@RCaIdsArray@@QAEXAAVRReadStream@@@Z @ 45 NONAME ; void RCaIdsArray::InternalizeL(class RReadStream &) - ?MarshalDataLC@RCaIdsArray@@QBEPAVHBufC8@@XZ @ 46 NONAME ; class HBufC8 * RCaIdsArray::MarshalDataLC(void) const - ?NewL@CCaEntryAttribute@@SAPAV1@ABVTDesC16@@@Z @ 47 NONAME ; class CCaEntryAttribute * CCaEntryAttribute::NewL(class TDesC16 const &) - ?NewL@CCaInnerEntry@@SAPAV1@XZ @ 48 NONAME ; class CCaInnerEntry * CCaInnerEntry::NewL(void) - ?NewL@CCaInnerNotifierFilter@@SAPAV1@W4TNotifierType@1@@Z @ 49 NONAME ; class CCaInnerNotifierFilter * CCaInnerNotifierFilter::NewL(enum CCaInnerNotifierFilter::TNotifierType) - ?NewL@CCaInnerQuery@@SAPAV1@XZ @ 50 NONAME ; class CCaInnerQuery * CCaInnerQuery::NewL(void) - ?NewL@CCaLocalizationEntry@@SAPAV1@XZ @ 51 NONAME ; class CCaLocalizationEntry * CCaLocalizationEntry::NewL(void) - ?NewLC@CCaEntryAttribute@@SAPAV1@ABVTDesC16@@@Z @ 52 NONAME ; class CCaEntryAttribute * CCaEntryAttribute::NewLC(class TDesC16 const &) - ?NewLC@CCaInnerEntry@@SAPAV1@XZ @ 53 NONAME ; class CCaInnerEntry * CCaInnerEntry::NewLC(void) - ?NewLC@CCaInnerNotifierFilter@@SAPAV1@W4TNotifierType@1@@Z @ 54 NONAME ; class CCaInnerNotifierFilter * CCaInnerNotifierFilter::NewLC(enum CCaInnerNotifierFilter::TNotifierType) - ?NewLC@CCaInnerQuery@@SAPAV1@XZ @ 55 NONAME ; class CCaInnerQuery * CCaInnerQuery::NewLC(void) - ?NewLC@CCaLocalizationEntry@@SAPAV1@XZ @ 56 NONAME ; class CCaLocalizationEntry * CCaLocalizationEntry::NewLC(void) - ?RemoveAttribute@RCaEntryAttrArray@@QAEXABVTDesC16@@@Z @ 57 NONAME ; void RCaEntryAttrArray::RemoveAttribute(class TDesC16 const &) - ?RemoveAttributeL@CCaInnerEntry@@QAEXABVTDesC16@@@Z @ 58 NONAME ; void CCaInnerEntry::RemoveAttributeL(class TDesC16 const &) - ?SetAttributeNameL@CCaLocalizationEntry@@QAEXABVTDesC16@@@Z @ 59 NONAME ; void CCaLocalizationEntry::SetAttributeNameL(class TDesC16 const &) - ?SetCount@CCaInnerQuery@@QAEXI@Z @ 60 NONAME ; void CCaInnerQuery::SetCount(unsigned int) - ?SetDescriptionL@CCaInnerEntry@@QAEXABVTDesC16@@@Z @ 61 NONAME ; void CCaInnerEntry::SetDescriptionL(class TDesC16 const &) - ?SetEntryRole@CCaInnerNotifierFilter@@QAEXW4TEntryRole@@@Z @ 62 NONAME ; void CCaInnerNotifierFilter::SetEntryRole(enum TEntryRole) - ?SetEntryTypeNameL@CCaInnerEntry@@QAEXABVTDesC16@@@Z @ 63 NONAME ; void CCaInnerEntry::SetEntryTypeNameL(class TDesC16 const &) - ?SetEntryTypeNames@CCaInnerQuery@@QAEXPAVCDesC16ArrayFlat@@@Z @ 64 NONAME ; void CCaInnerQuery::SetEntryTypeNames(class CDesC16ArrayFlat *) - ?SetFlags@CCaInnerEntry@@QAEXI@Z @ 65 NONAME ; void CCaInnerEntry::SetFlags(unsigned int) - ?SetFlagsOff@CCaInnerQuery@@QAEXI@Z @ 66 NONAME ; void CCaInnerQuery::SetFlagsOff(unsigned int) - ?SetFlagsOn@CCaInnerQuery@@QAEXI@Z @ 67 NONAME ; void CCaInnerQuery::SetFlagsOn(unsigned int) - ?SetIconDataL@CCaInnerEntry@@QAEXHHHHABVTDesC16@@@Z @ 68 NONAME ; void CCaInnerEntry::SetIconDataL(int, int, int, int, class TDesC16 const &) - ?SetIconId@CCaInnerEntry@@QAEXH@Z @ 69 NONAME ; void CCaInnerEntry::SetIconId(int) - ?SetId@CCaInnerEntry@@QAEXI@Z @ 70 NONAME ; void CCaInnerEntry::SetId(unsigned int) - ?SetIdsL@CCaInnerNotifierFilter@@QAEXABV?$RArray@H@@@Z @ 71 NONAME ; void CCaInnerNotifierFilter::SetIdsL(class RArray const &) + ?NewLC@CCaInnerNotifierFilter@@SAPAV1@W4TNotifierType@1@@Z @ 1 NONAME ; class CCaInnerNotifierFilter * CCaInnerNotifierFilter::NewLC(enum CCaInnerNotifierFilter::TNotifierType) + ?ExternalizeL@RCaIdsArray@@QBEXAAVRWriteStream@@@Z @ 2 NONAME ; void RCaIdsArray::ExternalizeL(class RWriteStream &) const + ?GetAttributes@CCaInnerQuery@@QBEABVRCaEntryAttrArray@@XZ @ 3 NONAME ; class RCaEntryAttrArray const & CCaInnerQuery::GetAttributes(void) const + ?SetEntryTypeNameL@CCaInnerEntry@@QAEXABVTDesC16@@@Z @ 4 NONAME ; void CCaInnerEntry::SetEntryTypeNameL(class TDesC16 const &) + ?SetSort@CCaInnerQuery@@QAEXW4TSortAttribute@1@@Z @ 5 NONAME ; void CCaInnerQuery::SetSort(enum CCaInnerQuery::TSortAttribute) + ?SetIconId@CCaInnerEntry@@QAEXH@Z @ 6 NONAME ; void CCaInnerEntry::SetIconId(int) + ?SetUid@CCaInnerEntry@@QAEXJ@Z @ 7 NONAME ; void CCaInnerEntry::SetUid(long) + ?SetLocalizedStringL@CCaLocalizationEntry@@QAEXABVTDesC16@@@Z @ 8 NONAME ; void CCaLocalizationEntry::SetLocalizedStringL(class TDesC16 const &) + ?GetText@CCaInnerEntry@@QBEABVRBuf16@@XZ @ 9 NONAME ; class RBuf16 const & CCaInnerEntry::GetText(void) const + ?InternalizeL@RCaEntriesArray@@QAEXAAVRReadStream@@@Z @ 10 NONAME ; void RCaEntriesArray::InternalizeL(class RReadStream &) + ?SetIdsL@CCaInnerNotifierFilter@@QAEXABV?$RArray@H@@@Z @ 11 NONAME ; void CCaInnerNotifierFilter::SetIdsL(class RArray const &) + ?GetTextId@CCaLocalizationEntry@@QBEHXZ @ 12 NONAME ; int CCaLocalizationEntry::GetTextId(void) const + ?GetUid@CCaInnerEntry@@QBEJXZ @ 13 NONAME ; long CCaInnerEntry::GetUid(void) const + ?SetId@CCaInnerEntry@@QAEXI@Z @ 14 NONAME ; void CCaInnerEntry::SetId(unsigned int) + ?GetSort@CCaInnerQuery@@QBE?AW4TSortAttribute@1@XZ @ 15 NONAME ; enum CCaInnerQuery::TSortAttribute CCaInnerQuery::GetSort(void) const + ?SetCount@CCaInnerQuery@@QAEXI@Z @ 16 NONAME ; void CCaInnerQuery::SetCount(unsigned int) + ?ExternalizeL@CCaInnerNotifierFilter@@QBEXAAVRWriteStream@@@Z @ 17 NONAME ; void CCaInnerNotifierFilter::ExternalizeL(class RWriteStream &) const + ?FindAttribute@CCaInnerEntry@@QAEHABVTDesC16@@AAVTDes16@@@Z @ 18 NONAME ; int CCaInnerEntry::FindAttribute(class TDesC16 const &, class TDes16 &) + ?Find@RCaEntryAttrArray@@QAEHABVTDesC16@@AAVTDes16@@@Z @ 19 NONAME ; int RCaEntryAttrArray::Find(class TDesC16 const &, class TDes16 &) + ?SetRowId@CCaLocalizationEntry@@QAEXI@Z @ 20 NONAME ; void CCaLocalizationEntry::SetRowId(unsigned int) + ?GetUid@CCaInnerQuery@@QBEIXZ @ 21 NONAME ; unsigned int CCaInnerQuery::GetUid(void) const + ?SetFlags@CCaInnerEntry@@QAEXI@Z @ 22 NONAME ; void CCaInnerEntry::SetFlags(unsigned int) + ?SetAttributeNameL@CCaLocalizationEntry@@QAEXABVTDesC16@@@Z @ 23 NONAME ; void CCaLocalizationEntry::SetAttributeNameL(class TDesC16 const &) + ?GetCount@CCaInnerQuery@@QBEIXZ @ 24 NONAME ; unsigned int CCaInnerQuery::GetCount(void) const + ?GetParentId@CCaInnerNotifierFilter@@QBEHXZ @ 25 NONAME ; int CCaInnerNotifierFilter::GetParentId(void) const + ?GetStringId@CCaLocalizationEntry@@QBEABVRBuf16@@XZ @ 26 NONAME ; class RBuf16 const & CCaLocalizationEntry::GetStringId(void) const + ?GetFlags@CCaInnerEntry@@QBEIXZ @ 27 NONAME ; unsigned int CCaInnerEntry::GetFlags(void) const + ?NewL@CCaEntryAttribute@@SAPAV1@ABVTDesC16@@@Z @ 28 NONAME ; class CCaEntryAttribute * CCaEntryAttribute::NewL(class TDesC16 const &) + ?SetParentId@CCaInnerNotifierFilter@@QAEXH@Z @ 29 NONAME ; void CCaInnerNotifierFilter::SetParentId(int) + ?SetFlagsOn@CCaInnerQuery@@QAEXI@Z @ 30 NONAME ; void CCaInnerQuery::SetFlagsOn(unsigned int) + ?SetTypeNames@CCaInnerNotifierFilter@@QAEXPAVCDesC16ArrayFlat@@@Z @ 31 NONAME ; void CCaInnerNotifierFilter::SetTypeNames(class CDesC16ArrayFlat *) + ?NewLC@CCaLocalizationEntry@@SAPAV1@XZ @ 32 NONAME ; class CCaLocalizationEntry * CCaLocalizationEntry::NewLC(void) + ?NewL@CCaInnerNotifierFilter@@SAPAV1@W4TNotifierType@1@@Z @ 33 NONAME ; class CCaInnerNotifierFilter * CCaInnerNotifierFilter::NewL(enum CCaInnerNotifierFilter::TNotifierType) + ?GetTableName@CCaLocalizationEntry@@QBEABVRBuf16@@XZ @ 34 NONAME ; class RBuf16 const & CCaLocalizationEntry::GetTableName(void) const + ?GetFlagsOff@CCaInnerQuery@@QBEIXZ @ 35 NONAME ; unsigned int CCaInnerQuery::GetFlagsOff(void) const + ?InternalizeL@CCaInnerEntry@@QAEXAAVRReadStream@@@Z @ 36 NONAME ; void CCaInnerEntry::InternalizeL(class RReadStream &) + ?GetAttributeName@CCaLocalizationEntry@@QBEABVRBuf16@@XZ @ 37 NONAME ; class RBuf16 const & CCaLocalizationEntry::GetAttributeName(void) const + ?GetTUint@MenuUtils@@SAHABVTDesC16@@AAI@Z @ 38 NONAME ; int MenuUtils::GetTUint(class TDesC16 const &, unsigned int &) + ?AddAttributeL@CCaInnerQuery@@QAEXABVTDesC16@@0@Z @ 39 NONAME ; void CCaInnerQuery::AddAttributeL(class TDesC16 const &, class TDesC16 const &) + ?Exist@RCaEntryAttrArray@@QAEHABVTDesC16@@@Z @ 40 NONAME ; int RCaEntryAttrArray::Exist(class TDesC16 const &) + ?AddAttributeL@CCaInnerEntry@@QAEXABVTDesC16@@0@Z @ 41 NONAME ; void CCaInnerEntry::AddAttributeL(class TDesC16 const &, class TDesC16 const &) + ?GetParentId@CCaInnerQuery@@QBEHXZ @ 42 NONAME ; int CCaInnerQuery::GetParentId(void) const + ?SetDescriptionL@CCaInnerEntry@@QAEXABVTDesC16@@@Z @ 43 NONAME ; void CCaInnerEntry::SetDescriptionL(class TDesC16 const &) + ?SetEntryRole@CCaInnerNotifierFilter@@QAEXW4TEntryRole@@@Z @ 44 NONAME ; void CCaInnerNotifierFilter::SetEntryRole(enum TEntryRole) + ?GetFlagsOn@CCaInnerQuery@@QBEIXZ @ 45 NONAME ; unsigned int CCaInnerQuery::GetFlagsOn(void) const + ?GetIconId@CCaInnerEntry@@QBEHXZ @ 46 NONAME ; int CCaInnerEntry::GetIconId(void) const + ?SetIconDataL@CCaInnerEntry@@QAEXABVTDesC16@@00@Z @ 47 NONAME ; void CCaInnerEntry::SetIconDataL(class TDesC16 const &, class TDesC16 const &, class TDesC16 const &) + ?GetEntryRole@CCaInnerNotifierFilter@@QBE?AW4TEntryRole@@XZ @ 48 NONAME ; enum TEntryRole CCaInnerNotifierFilter::GetEntryRole(void) const + ?GetId@CCaInnerEntry@@QBEHXZ @ 49 NONAME ; int CCaInnerEntry::GetId(void) const + ?SetEntryTypeNames@CCaInnerQuery@@QAEXPAVCDesC16ArrayFlat@@@Z @ 50 NONAME ; void CCaInnerQuery::SetEntryTypeNames(class CDesC16ArrayFlat *) + ?GetNotifierType@CCaInnerNotifierFilter@@QBE?AW4TNotifierType@1@XZ @ 51 NONAME ; enum CCaInnerNotifierFilter::TNotifierType CCaInnerNotifierFilter::GetNotifierType(void) const + ?ExternalizeL@CCaInnerEntry@@QBEXAAVRWriteStream@@@Z @ 52 NONAME ; void CCaInnerEntry::ExternalizeL(class RWriteStream &) const + ?SetRole@CCaInnerQuery@@QAEXH@Z @ 53 NONAME ; void CCaInnerQuery::SetRole(int) + ?GetIcon@CCaInnerEntry@@QBEABUTIconAttributes@1@XZ @ 54 NONAME ; struct CCaInnerEntry::TIconAttributes const & CCaInnerEntry::GetIcon(void) const + ?NewL@CCaLocalizationEntry@@SAPAV1@XZ @ 55 NONAME ; class CCaLocalizationEntry * CCaLocalizationEntry::NewL(void) + ?InternalizeL@CCaInnerNotifierFilter@@QAEXAAVRReadStream@@@Z @ 56 NONAME ; void CCaInnerNotifierFilter::InternalizeL(class RReadStream &) + ?InternalizeL@RCaIdsArray@@QAEXAAVRReadStream@@@Z @ 57 NONAME ; void RCaIdsArray::InternalizeL(class RReadStream &) + ?MarshalDataLC@RCaIdsArray@@QBEPAVHBufC8@@XZ @ 58 NONAME ; class HBufC8 * RCaIdsArray::MarshalDataLC(void) const + ?GetEntryTypeNames@CCaInnerQuery@@QBEPBVCDesC16ArrayFlat@@XZ @ 59 NONAME ; class CDesC16ArrayFlat const * CCaInnerQuery::GetEntryTypeNames(void) const + ?SetValueL@CCaEntryAttribute@@QAEXABVTDesC16@@@Z @ 60 NONAME ; void CCaEntryAttribute::SetValueL(class TDesC16 const &) + ?ExternalizeL@CCaInnerQuery@@QBEXAAVRWriteStream@@@Z @ 61 NONAME ; void CCaInnerQuery::ExternalizeL(class RWriteStream &) const + ?GetLocalizedString@CCaLocalizationEntry@@QBEABVRBuf16@@XZ @ 62 NONAME ; class RBuf16 const & CCaLocalizationEntry::GetLocalizedString(void) const + ?InternalizeL@CCaInnerQuery@@QAEXAAVRReadStream@@@Z @ 63 NONAME ; void CCaInnerQuery::InternalizeL(class RReadStream &) + ?NewLC@CCaEntryAttribute@@SAPAV1@ABVTDesC16@@@Z @ 64 NONAME ; class CCaEntryAttribute * CCaEntryAttribute::NewLC(class TDesC16 const &) + ?GetTypeNames@CCaInnerNotifierFilter@@QBEPAVCDesC16ArrayFlat@@XZ @ 65 NONAME ; class CDesC16ArrayFlat * CCaInnerNotifierFilter::GetTypeNames(void) const + ?NewL@CCaInnerEntry@@SAPAV1@XZ @ 66 NONAME ; class CCaInnerEntry * CCaInnerEntry::NewL(void) + ?SetRole@CCaInnerEntry@@QAEXI@Z @ 67 NONAME ; void CCaInnerEntry::SetRole(unsigned int) + ?NewLC@CCaInnerEntry@@SAPAV1@XZ @ 68 NONAME ; class CCaInnerEntry * CCaInnerEntry::NewLC(void) + ?SetTableNameL@CCaLocalizationEntry@@QAEXABVTDesC16@@@Z @ 69 NONAME ; void CCaLocalizationEntry::SetTableNameL(class TDesC16 const &) + ?GetAttributes@CCaInnerEntry@@QBEABVRCaEntryAttrArray@@XZ @ 70 NONAME ; class RCaEntryAttrArray const & CCaInnerEntry::GetAttributes(void) const + ?GetRowId@CCaLocalizationEntry@@QBEHXZ @ 71 NONAME ; int CCaLocalizationEntry::GetRowId(void) const ?SetIdsL@CCaInnerQuery@@QAEXABV?$RArray@H@@@Z @ 72 NONAME ; void CCaInnerQuery::SetIdsL(class RArray const &) - ?SetLocalizedStringL@CCaLocalizationEntry@@QAEXABVTDesC16@@@Z @ 73 NONAME ; void CCaLocalizationEntry::SetLocalizedStringL(class TDesC16 const &) - ?SetParentId@CCaInnerNotifierFilter@@QAEXH@Z @ 74 NONAME ; void CCaInnerNotifierFilter::SetParentId(int) - ?SetParentId@CCaInnerQuery@@QAEXH@Z @ 75 NONAME ; void CCaInnerQuery::SetParentId(int) - ?SetRole@CCaInnerEntry@@QAEXI@Z @ 76 NONAME ; void CCaInnerEntry::SetRole(unsigned int) - ?SetRole@CCaInnerQuery@@QAEXH@Z @ 77 NONAME ; void CCaInnerQuery::SetRole(int) - ?SetRowId@CCaLocalizationEntry@@QAEXI@Z @ 78 NONAME ; void CCaLocalizationEntry::SetRowId(unsigned int) - ?SetSort@CCaInnerQuery@@QAEXW4TSortAttribute@1@@Z @ 79 NONAME ; void CCaInnerQuery::SetSort(enum CCaInnerQuery::TSortAttribute) - ?SetStringIdL@CCaLocalizationEntry@@QAEXABVTDesC16@@@Z @ 80 NONAME ; void CCaLocalizationEntry::SetStringIdL(class TDesC16 const &) - ?SetTableNameL@CCaLocalizationEntry@@QAEXABVTDesC16@@@Z @ 81 NONAME ; void CCaLocalizationEntry::SetTableNameL(class TDesC16 const &) - ?SetTextId@CCaLocalizationEntry@@QAEXI@Z @ 82 NONAME ; void CCaLocalizationEntry::SetTextId(unsigned int) - ?SetTextL@CCaInnerEntry@@QAEXABVTDesC16@@@Z @ 83 NONAME ; void CCaInnerEntry::SetTextL(class TDesC16 const &) - ?SetTypeNames@CCaInnerNotifierFilter@@QAEXPAVCDesC16ArrayFlat@@@Z @ 84 NONAME ; void CCaInnerNotifierFilter::SetTypeNames(class CDesC16ArrayFlat *) - ?SetUid@CCaInnerEntry@@QAEXJ@Z @ 85 NONAME ; void CCaInnerEntry::SetUid(long) - ?SetUid@CCaInnerQuery@@QAEXI@Z @ 86 NONAME ; void CCaInnerQuery::SetUid(unsigned int) - ?SetValueL@CCaEntryAttribute@@QAEXABVTDesC16@@@Z @ 87 NONAME ; void CCaEntryAttribute::SetValueL(class TDesC16 const &) + ?SetFlagsOff@CCaInnerQuery@@QAEXI@Z @ 73 NONAME ; void CCaInnerQuery::SetFlagsOff(unsigned int) + ?RemoveAttributeL@CCaInnerEntry@@QAEXABVTDesC16@@@Z @ 74 NONAME ; void CCaInnerEntry::RemoveAttributeL(class TDesC16 const &) + ?GetRole@CCaInnerEntry@@QBEIXZ @ 75 NONAME ; unsigned int CCaInnerEntry::GetRole(void) const + ?GetIds@CCaInnerQuery@@QBEABV?$RArray@H@@XZ @ 76 NONAME ; class RArray const & CCaInnerQuery::GetIds(void) const + ?ExternalizeL@RCaEntriesArray@@QBEXAAVRWriteStream@@@Z @ 77 NONAME ; void RCaEntriesArray::ExternalizeL(class RWriteStream &) const + ?NewL@CCaInnerQuery@@SAPAV1@XZ @ 78 NONAME ; class CCaInnerQuery * CCaInnerQuery::NewL(void) + ?SetUid@CCaInnerQuery@@QAEXI@Z @ 79 NONAME ; void CCaInnerQuery::SetUid(unsigned int) + ?GetDescription@CCaInnerEntry@@QBEABVRBuf16@@XZ @ 80 NONAME ; class RBuf16 const & CCaInnerEntry::GetDescription(void) const + ?GetRole@CCaInnerQuery@@QBEHXZ @ 81 NONAME ; int CCaInnerQuery::GetRole(void) const + ?GetEntryTypeName@CCaInnerEntry@@QBEABVRBuf16@@XZ @ 82 NONAME ; class RBuf16 const & CCaInnerEntry::GetEntryTypeName(void) const + ?NewLC@CCaInnerQuery@@SAPAV1@XZ @ 83 NONAME ; class CCaInnerQuery * CCaInnerQuery::NewLC(void) + ?SetTextL@CCaInnerEntry@@QAEXABVTDesC16@@@Z @ 84 NONAME ; void CCaInnerEntry::SetTextL(class TDesC16 const &) + ?SetParentId@CCaInnerQuery@@QAEXH@Z @ 85 NONAME ; void CCaInnerQuery::SetParentId(int) + ?GetIds@CCaInnerNotifierFilter@@QBE?AV?$RArray@H@@XZ @ 86 NONAME ; class RArray CCaInnerNotifierFilter::GetIds(void) const + ?SetStringIdL@CCaLocalizationEntry@@QAEXABVTDesC16@@@Z @ 87 NONAME ; void CCaLocalizationEntry::SetStringIdL(class TDesC16 const &) + ?SetTextId@CCaLocalizationEntry@@QAEXI@Z @ 88 NONAME ; void CCaLocalizationEntry::SetTextId(unsigned int) + ?RemoveAttribute@RCaEntryAttrArray@@QAEXABVTDesC16@@@Z @ 89 NONAME ; void RCaEntryAttrArray::RemoveAttribute(class TDesC16 const &) diff -r 9d806967057c -r 7f0462e8c3da contentstorage/caclient/caclient.pro --- a/contentstorage/caclient/caclient.pro Tue Mar 23 23:42:03 2010 +0200 +++ b/contentstorage/caclient/caclient.pro Tue Mar 23 23:55:55 2010 +0200 @@ -15,9 +15,13 @@ # TEMPLATE = lib -CONFIG += hb +CONFIG += hb mobility HB = hbcore +MOBILITY = serviceframework +# temporary solution to solve problems with SF in MW dependency +qtAddLibrary(QtServiceFramework) + DEFINES += CACLIENT_LIB include(../../common.pri) @@ -49,6 +53,7 @@ -lfbscli \ -lbitgdi include(caclient_s60.pri) +include(cahandler.pri) } win32: { diff -r 9d806967057c -r 7f0462e8c3da contentstorage/caclient/cahandler.pri --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/contentstorage/caclient/cahandler.pri Tue Mar 23 23:55:55 2010 +0200 @@ -0,0 +1,41 @@ +# +# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +# All rights reserved. +# This component and the accompanying materials are made available +# under the terms of "Eclipse Public License v1.0" +# which accompanies this distribution, and is available +# at the URL "http://www.eclipse.org/legal/epl-v10.html". +# +# Initial Contributors: +# Nokia Corporation - initial contribution. +# +# Contributors: +# +# Description: +# + +INCLUDEPATH += ../cahandler/inc \ + ../cahandler/app/inc \ + ../cahandler/url/inc \ + ../cahandler/tapp/inc + +HEADERS += ../cahandler/inc/*.h \ + ../cahandler/app/inc/*.h \ + ../cahandler/url/inc/*.h \ + ../cahandler/tapp/inc/catapphandler.h + +SOURCES += ../cahandler/app/src/*.cpp \ + ../cahandler/url/src/*.cpp \ + ../cahandler/tapp/src/catapphandler.cpp + +LIBS += -lswinstcli \ + -lapgrfx \ + -lws32 \ + -lapparc \ + -lsisregistryclient \ + -leikcore \ + -lcone \ + -lefsrv \ + -lxqservice + + diff -r 9d806967057c -r 7f0462e8c3da contentstorage/caclient/inc/caicondescription_p.h --- a/contentstorage/caclient/inc/caicondescription_p.h Tue Mar 23 23:42:03 2010 +0200 +++ b/contentstorage/caclient/inc/caicondescription_p.h Tue Mar 23 23:55:55 2010 +0200 @@ -37,16 +37,11 @@ QString filename() const; void setFileName(const QString &fileName); - int bitmapId() const; - void setBitmapId(int bitmapId); + QString skinId() const; + void setSkinId(const QString &skinId); - int maskId() const; - void setMaskId(int maskId); - - int skinMajorId() const; - void setSkinMajorId(int id); - int skinMinorId() const; - void setSkinMinorId(int id); + QString applicationId() const; + void setApplicationId(const QString &applicationId); private: @@ -68,22 +63,12 @@ /*! * */ - int mBitmapId; - - /*! - * - */ - int mMaskId; + QString mSkinId; /*! * */ - int mSkinMajorId; - - /*! - * - */ - int mSkinMinorId; + QString mApplicationId; }; diff -r 9d806967057c -r 7f0462e8c3da contentstorage/caclient/inc/caquery_p.h --- a/contentstorage/caclient/inc/caquery_p.h Tue Mar 23 23:42:03 2010 +0200 +++ b/contentstorage/caclient/inc/caquery_p.h Tue Mar 23 23:55:55 2010 +0200 @@ -57,6 +57,11 @@ unsigned int count() const; void setCount(unsigned int count); + QMap attributes() const; + QString attribute(const QString &name) const; + void setAttribute(const QString &name, const QString &value); + void removeAttribute(const QString &name); + void clear(); private: @@ -81,6 +86,8 @@ Qt::SortOrder mSortOrder; unsigned int mCount; + + QMap mAttributes; }; #endif //CAQUERY_PRIVATE_H diff -r 9d806967057c -r 7f0462e8c3da contentstorage/caclient/s60/inc/caclientproxy.h --- a/contentstorage/caclient/s60/inc/caclientproxy.h Tue Mar 23 23:42:03 2010 +0200 +++ b/contentstorage/caclient/s60/inc/caclientproxy.h Tue Mar 23 23:55:55 2010 +0200 @@ -19,14 +19,16 @@ #define CACLIENTPROXY_H #include +#include // INCLUDES #include "cadef.h" #include "caclientsession.h" #include "canotifier.h" +#include "cahandlerproxy.h" //FORWARD DECLARATIONS -class CCaHandlerEngine; + class CaClientNotifierProxy; class CaEntry; class CaQuery; @@ -215,13 +217,6 @@ void getEntryIdsL(const CaQuery &query, QList &sourceIdList); - /** - * Method for fetching entries. Symbian specific. - * @param entry entry - * @param command command. - */ - void executeCommandL(const CaEntry &entry, - const QString &command); /** * Touch. @@ -240,9 +235,8 @@ // Own. RCaClientSession mSession; - // Engine handler. - // Own. - CCaHandlerEngine *mHandler; + // Command handler. + QSharedPointer mCommandHandler; // Mutex to serialize access to mSessions. QMutex mMutex; diff -r 9d806967057c -r 7f0462e8c3da contentstorage/caclient/s60/inc/cahandler.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/contentstorage/caclient/s60/inc/cahandler.h Tue Mar 23 23:55:55 2010 +0200 @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). + * All rights reserved. + * This component and the accompanying materials are made available + * under the terms of "Eclipse Public License v1.0" + * which accompanies this distribution, and is available + * at the URL "http://www.eclipse.org/legal/epl-v10.html". + * + * Initial Contributors: + * Nokia Corporation - initial contribution. + * + * Contributors: + * + * Description: + * + */ +#ifndef CA_HANDLER_H +#define CA_HANDLER_H + +#include +#include +#include + +class CaEntry; +class QString; + +class CaHandler: public QObject +{ + Q_OBJECT + +public: + virtual int execute(const CaEntry &entry, + const QString &commandName) = 0; +}; + +#endif diff -r 9d806967057c -r 7f0462e8c3da contentstorage/caclient/s60/inc/cahandlerloader.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/contentstorage/caclient/s60/inc/cahandlerloader.h Tue Mar 23 23:55:55 2010 +0200 @@ -0,0 +1,34 @@ +/* + * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). + * All rights reserved. + * This component and the accompanying materials are made available + * under the terms of "Eclipse Public License v1.0" + * which accompanies this distribution, and is available + * at the URL "http://www.eclipse.org/legal/epl-v10.html". + * + * Initial Contributors: + * Nokia Corporation - initial contribution. + * + * Contributors: + * + * Description: + * + */ + +#ifndef CA_HANDLER_LOADER_H +#define CA_HANDLER_LOADER_H + +#include + +class QString; +class CaHandler; + +class CaHandlerLoader +{ +public: + virtual ~CaHandlerLoader(); + virtual CaHandler *loadHandler(const QString &entryTypeName, + const QString &commandName) = 0; +}; + +#endif diff -r 9d806967057c -r 7f0462e8c3da contentstorage/caclient/s60/inc/cahandlerproxy.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/contentstorage/caclient/s60/inc/cahandlerproxy.h Tue Mar 23 23:55:55 2010 +0200 @@ -0,0 +1,51 @@ +/* + * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). + * All rights reserved. + * This component and the accompanying materials are made available + * under the terms of "Eclipse Public License v1.0" + * which accompanies this distribution, and is available + * at the URL "http://www.eclipse.org/legal/epl-v10.html". + * + * Initial Contributors: + * Nokia Corporation - initial contribution. + * + * Contributors: + * + * Description: + * + */ + +#ifndef CA_HANDLER_PROXY_H +#define CA_HANDLER_PROXY_H + +#include +#include +#include +#include +#include + +#include "cahandlerloader.h" +class CaEntry; + +class CaHandlerProxy +{ +public: + + ~CaHandlerProxy(); + + explicit CaHandlerProxy(CaHandlerLoader *loader); + + TInt execute(const CaEntry &entry, const QString &commandName); + +private: + CaHandler *getHandler(const CaEntry &entry, + const QString &commandName); + + typedef QMap > ImplementationMap; + typedef ImplementationMap::iterator ImplementationMapIterator; + + QSharedPointer mLoader; + ImplementationMap mImplementationMap; +}; + +#endif diff -r 9d806967057c -r 7f0462e8c3da contentstorage/caclient/s60/inc/caobjectadapter.h --- a/contentstorage/caclient/s60/inc/caobjectadapter.h Tue Mar 23 23:42:03 2010 +0200 +++ b/contentstorage/caclient/s60/inc/caobjectadapter.h Tue Mar 23 23:55:55 2010 +0200 @@ -158,17 +158,27 @@ /** * @return uid attribute name */ - static const QString &applicationUidAttributeName(); + static const QString applicationUidAttributeName(); + + /** + * @return application entry type name + */ + static const QString applicationEntryTypeName(); /** - * @return attribute type name + * @return widget entry type name */ - static const QString &applicationEntryName(); + static const QString widgetEntryTypeName(); /** - * @return widget type name + * @return url entry type name */ - static const QString &widgetEntryName(); + static const QString urlEntryTypeName(); + + /** + * @return template application entry type name + */ + static const QString templateApplicationEntryTypeName(); /** * Set entry id. diff -r 9d806967057c -r 7f0462e8c3da contentstorage/caclient/s60/inc/caqtsfhandlerloader.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/contentstorage/caclient/s60/inc/caqtsfhandlerloader.h Tue Mar 23 23:55:55 2010 +0200 @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). + * All rights reserved. + * This component and the accompanying materials are made available + * under the terms of "Eclipse Public License v1.0" + * which accompanies this distribution, and is available + * at the URL "http://www.eclipse.org/legal/epl-v10.html". + * + * Initial Contributors: + * Nokia Corporation - initial contribution. + * + * Contributors: + * + * Description: + * + */ + +#ifndef CA_QT_SF_HANDLER_LOADER_H +#define CA_QT_SF_HANDLER_LOADER_H + +#include +#include +#include + +#include "cahandlerloader.h" + +class CaQtSfHandlerLoader: + public CaHandlerLoader +{ +public: + CaHandler *loadHandler(const QString &entryTypeName, + const QString &commandName); +}; + +#endif diff -r 9d806967057c -r 7f0462e8c3da contentstorage/caclient/s60/src/caclientproxy.cpp --- a/contentstorage/caclient/s60/src/caclientproxy.cpp Tue Mar 23 23:42:03 2010 +0200 +++ b/contentstorage/caclient/s60/src/caclientproxy.cpp Tue Mar 23 23:55:55 2010 +0200 @@ -27,19 +27,19 @@ #include "caobjectadapter.h" #include "caentriesarray.h" #include "caidsarray.h" -#include "cahandlerengine.h" #include "caarraycleanup.inl" #include "caentry.h" #include "caquery.h" #include "cadefs.h" - +#include "cahandlerproxy.h" +#include "caqtsfhandlerloader.h" //---------------------------------------------------------------------------- // //---------------------------------------------------------------------------- CaClientProxy::CaClientProxy(): - mHandler(NULL) + mCommandHandler(new CaHandlerProxy(new CaQtSfHandlerLoader())) { } @@ -49,7 +49,7 @@ CaClientProxy::~CaClientProxy() { mSession.Close(); - delete mHandler; + } //---------------------------------------------------------------------------- @@ -172,7 +172,7 @@ ErrorCode CaClientProxy::executeCommand(const CaEntry &entry, const QString &command) { - TRAPD(error, executeCommandL(entry, command)); + TInt error = mCommandHandler->execute(entry, command); USE_QDEBUG_IF(error) << "CaClientProxy::executeCommand - Error (" << error << ")"; @@ -329,27 +329,6 @@ CleanupStack::PopAndDestroy(innerQuery); } -//---------------------------------------------------------------------------- -// -//---------------------------------------------------------------------------- -void CaClientProxy::executeCommandL(const CaEntry &entry, - const QString &command) -{ - CCaInnerEntry *innerEntry = CCaInnerEntry::NewLC(); - CaObjectAdapter::convertL(entry, *innerEntry); - - TPtrC16 commandPtr16( - reinterpret_cast(command.utf16())); - HBufC8 *convertedCommand = CnvUtfConverter::ConvertFromUnicodeToUtf7L( - commandPtr16, false); - CleanupStack::PushL(convertedCommand); - if (!mHandler) { - mHandler = CCaHandlerEngine::NewL(); - } - mHandler->HandleCommandL(*innerEntry, convertedCommand->Des()); - CleanupStack::PopAndDestroy(convertedCommand); - CleanupStack::PopAndDestroy(innerEntry); -} //---------------------------------------------------------------------------- // diff -r 9d806967057c -r 7f0462e8c3da contentstorage/caclient/s60/src/cahandlerloader.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/contentstorage/caclient/s60/src/cahandlerloader.cpp Tue Mar 23 23:55:55 2010 +0200 @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). + * All rights reserved. + * This component and the accompanying materials are made available + * under the terms of "Eclipse Public License v1.0" + * which accompanies this distribution, and is available + * at the URL "http://www.eclipse.org/legal/epl-v10.html". + * + * Initial Contributors: + * Nokia Corporation - initial contribution. + * + * Contributors: + * + * Description: + * + */ + +#include +#include "cahandlerloader.h" + +/*! + \class CaHandlerLoader + \ingroup + \brief Interface for class of objects providing command handlers. + + \sa CaHandlerLoader +*/ + +/*! + Destructor. +*/ +CaHandlerLoader::~CaHandlerLoader() +{ +} + + diff -r 9d806967057c -r 7f0462e8c3da contentstorage/caclient/s60/src/cahandlerproxy.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/contentstorage/caclient/s60/src/cahandlerproxy.cpp Tue Mar 23 23:55:55 2010 +0200 @@ -0,0 +1,94 @@ +/* + * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). + * All rights reserved. + * This component and the accompanying materials are made available + * under the terms of "Eclipse Public License v1.0" + * which accompanies this distribution, and is available + * at the URL "http://www.eclipse.org/legal/epl-v10.html". + * + * Initial Contributors: + * Nokia Corporation - initial contribution. + * + * Contributors: + * + * Description: + * + */ + +#include +#include "cahandler.h" +#include "cahandlerproxy.h" +#include "cahandlerloader.h" + +/*! + \class CaHandlerProxy + \ingroup + \brief Forwards execute request to an implemenation provided by specific handler loader. + + \sa CaHandlerLoader +*/ + +/*! + Destructor. +*/ +CaHandlerProxy::~CaHandlerProxy() +{ +} + + +/*! + Constructs handler proxy. + \param loader Provides handler implementations. It has to be pointer to a valid object. +*/ +CaHandlerProxy::CaHandlerProxy(CaHandlerLoader *loader): + mLoader(loader) +{ + Q_ASSERT(!mLoader.isNull()); +} + +/*! + Forwards execute request to an appropriate handler if found otherwise ignores the request. + \param entry Subject for the requested command. + \param commandName Name of the command to be executed. + \return KErrNone (i.e. 0) on succes, error code otherwise. + \sa e32err.h for KErrNone definition. +*/ +TInt CaHandlerProxy::execute(const CaEntry &entry, const QString &commandName) +{ + CaHandler *const handler = getHandler(entry, commandName); + + TInt result = KErrNotFound; + + if (handler != NULL) { + result = handler->execute(entry, commandName); + } + + return result; +} + +/*! + Looks for handler implementation in local cache or if not found, request it from + handler loader. + \param entry The entry being a subject for the requested command. + \param commandName Name of the command to be executed. + \return Pointer to a handler instance if available, NULL otherwise. +*/ +CaHandler *CaHandlerProxy::getHandler(const CaEntry &entry, + const QString &commandName) +{ + CaHandler *implementation(0); + + const QString entryTypeName(entry.entryTypeName()); + + const ImplementationMapIterator it( + mImplementationMap.find(entryTypeName)); + + if (it != mImplementationMap.end()) { + implementation = it->data(); + } else { + implementation = mLoader->loadHandler(entryTypeName, commandName); + mImplementationMap[entryTypeName] = QSharedPointer(implementation); + } + + return implementation; +} diff -r 9d806967057c -r 7f0462e8c3da contentstorage/caclient/s60/src/caobjectadapter.cpp --- a/contentstorage/caclient/s60/src/caobjectadapter.cpp Tue Mar 23 23:42:03 2010 +0200 +++ b/contentstorage/caclient/s60/src/caobjectadapter.cpp Tue Mar 23 23:55:55 2010 +0200 @@ -112,11 +112,10 @@ fromEntry.iconDescription(); toEntry.SetIconDataL( - static_cast(fromIconDescription.bitmapId()), - static_cast(fromIconDescription.maskId()), - static_cast(fromIconDescription.skinMajorId()), - static_cast(fromIconDescription.skinMinorId()), - convertToDescriptor(fromIconDescription.filename())); + convertToDescriptor(fromIconDescription.filename()), + convertToDescriptor(fromIconDescription.skinId()), + convertToDescriptor(fromIconDescription.applicationId()) + ); const QMap attributesMap = fromEntry.attributes(); @@ -167,6 +166,14 @@ Qt::SortOrder sortOrder; fromQuery.getSort(sortAttr, sortOrder); toQuery.SetSort(CaObjectAdapter::getSortCode(sortAttr, sortOrder)); + + const QMap attributesMap = fromQuery.attributes(); + + foreach(QString key, attributesMap.keys()) { + toQuery.AddAttributeL( + convertToDescriptor(key), + convertToDescriptor(attributesMap.value(key))); + } } //---------------------------------------------------------------------------- @@ -189,18 +196,16 @@ CaIconDescription iconDescription; iconDescription.setId(icon.iId); - iconDescription.setBitmapId(icon.iBitmapId); - iconDescription.setMaskId(icon.iMaskId); - iconDescription.setSkinMajorId(icon.iSkinMajorId); - iconDescription.setSkinMinorId(icon.iSkinMinorId); iconDescription.setFilename(convertToString(icon.iFileName)); + iconDescription.setSkinId(convertToString(icon.iSkinId)); + iconDescription.setApplicationId(convertToString(icon.iApplicationId)); toEntry.setIconDescription(iconDescription); const RCaEntryAttrArray &attributesArray = fromEntry.GetAttributes(); - if (toEntry.entryTypeName() == applicationEntryName() - || toEntry.entryTypeName() == widgetEntryName()) { + if (toEntry.entryTypeName() == applicationEntryTypeName() + || toEntry.entryTypeName() == widgetEntryTypeName()) { toEntry.setAttribute(applicationUidAttributeName(), QString::number(fromEntry.GetUid())); } @@ -356,7 +361,7 @@ //---------------------------------------------------------------------------- // //---------------------------------------------------------------------------- -const QString &CaObjectAdapter::applicationUidAttributeName() +const QString CaObjectAdapter::applicationUidAttributeName() { const static QString name("application:uid"); return name; @@ -365,7 +370,7 @@ //---------------------------------------------------------------------------- // //---------------------------------------------------------------------------- -const QString &CaObjectAdapter::applicationEntryName() +const QString CaObjectAdapter::applicationEntryTypeName() { const static QString name("application"); return name; @@ -374,12 +379,29 @@ //---------------------------------------------------------------------------- // // ----------------------------------------------------------------------------- -const QString &CaObjectAdapter::widgetEntryName() +const QString CaObjectAdapter::widgetEntryTypeName() { const static QString name("widget"); return name; } +//---------------------------------------------------------------------------- +// +// ----------------------------------------------------------------------------- +const QString CaObjectAdapter::urlEntryTypeName() +{ + const static QString name("url"); + return name; +} + +//---------------------------------------------------------------------------- +// +// ----------------------------------------------------------------------------- +const QString CaObjectAdapter::templateApplicationEntryTypeName() +{ + const static QString name("templatedApplication"); + return name; +} // ----------------------------------------------------------------------------- // copying compressed bitmap //---------------------------------------------------------------------------- @@ -405,14 +427,21 @@ HbIcon CaObjectAdapter::makeIconL(const CaEntry &entry, const QSize &size) { HbIcon icon; - CCaInnerEntry *innerEntry = CCaInnerEntry::NewLC(); - CaObjectAdapter::convertL(entry, *innerEntry); - QString filename(entry.iconDescription().filename()); - if (!filename.isEmpty()) { - icon = HbIcon(filename); + QString skinId(entry.iconDescription().skinId()); + if (!skinId.isEmpty()) { + icon = HbIcon(skinId); + } + if (icon.isNull() || !(icon.size().isValid())) { + QString filename(entry.iconDescription().filename()); + if (!filename.isEmpty()) { + icon = HbIcon(filename); + } } //try to load symbian icon from multi-bitmap (mbm, mbg) if (icon.isNull() || !(icon.size().isValid())) { + CCaInnerEntry *innerEntry = CCaInnerEntry::NewLC(); + CaObjectAdapter::convertL(entry, *innerEntry); + CAknIcon *aknIcon = CaMenuIconUtility::GetItemIcon(*innerEntry); QPixmap pixmap; if (aknIcon) { @@ -443,8 +472,8 @@ CleanupStack::PopAndDestroy(aknIcon); icon = HbIcon(QIcon(pixmap)); } + CleanupStack::PopAndDestroy(innerEntry); } - CleanupStack::PopAndDestroy(innerEntry); return icon; } diff -r 9d806967057c -r 7f0462e8c3da contentstorage/caclient/s60/src/caqtsfhandlerloader.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/contentstorage/caclient/s60/src/caqtsfhandlerloader.cpp Tue Mar 23 23:55:55 2010 +0200 @@ -0,0 +1,75 @@ +/* + * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). + * All rights reserved. + * This component and the accompanying materials are made available + * under the terms of "Eclipse Public License v1.0" + * which accompanies this distribution, and is available + * at the URL "http://www.eclipse.org/legal/epl-v10.html". + * + * Initial Contributors: + * Nokia Corporation - initial contribution. + * + * Contributors: + * + * Description: + * + */ + +#include +#include +#include +#include +#include +#include + +#include "cahandler.h" +#include "caqtsfhandlerloader.h" +#include "caobjectadapter.h" +#include "caapphandler.h" +#include "caurlhandler.h" +#include "catapphandler.h" +#include "cas60handleradapter.h" + +QTM_USE_NAMESPACE + +/*! + \class CaQtSfHandlerLoader + \ingroup + \brief Loads handlers implementation + + The purpose of the class is to find Qt SF plugins implementing command handlers. + Temporarily because of issues with Qt SF this is replaced by immediate object + creation. + \sa CaHandlerLoader +*/ + +/*! + Loads handler implementations appropriate for the requested entry type name and command. + + The caller takes ownership of the returned pointer. + + \param entryTypeName Entry type name. + \param commandName Name of the command to be handled. + \return A pointer to handler serving the entry type and command if found, NULL otherwise. +*/ +CaHandler *CaQtSfHandlerLoader::loadHandler(const QString &entryTypeName, + const QString &commandName) +{ + Q_UNUSED(commandName); + + CaHandler *implementation(0); + + if (entryTypeName == CaObjectAdapter::applicationEntryTypeName() + || entryTypeName == CaObjectAdapter::widgetEntryTypeName()) { + implementation = new CaS60HandlerAdapter; + } else if (entryTypeName == CaObjectAdapter::urlEntryTypeName()) { + implementation = new CaS60HandlerAdapter; + } else if (entryTypeName == + CaObjectAdapter::templateApplicationEntryTypeName()) { + implementation = new CaTappHandler; + } + + return implementation; +} + + diff -r 9d806967057c -r 7f0462e8c3da contentstorage/caclient/src/caicondescription.cpp --- a/contentstorage/caclient/src/caicondescription.cpp Tue Mar 23 23:42:03 2010 +0200 +++ b/contentstorage/caclient/src/caicondescription.cpp Tue Mar 23 23:55:55 2010 +0200 @@ -127,76 +127,41 @@ m_d->setFileName(filename); } -/*! - Returns bitmap id. - \retval bitmap id. - */ -int CaIconDescription::bitmapId() const -{ - return m_d->bitmapId(); -} /*! - Sets bitmap id - \param bitmap id + Returns skin id. + \retval skin id. */ -void CaIconDescription::setBitmapId(int id) +QString CaIconDescription::skinId() const { - m_d->setBitmapId(id); -} - -/*! - Returns icon mask id - \retval icon mask id - */ -int CaIconDescription::maskId() const -{ - return m_d->maskId(); + return m_d->skinId(); } /*! - Sets icon mask id - \param icon mask id + Sets skin id + \param skin id */ -void CaIconDescription::setMaskId(int id) +void CaIconDescription::setSkinId(const QString &skinId) { - m_d->setMaskId(id); -} - -/*! - Returns skin major id - \retval skin major id - */ -int CaIconDescription::skinMajorId() const -{ - return m_d->skinMajorId(); + m_d->setSkinId(skinId); } /*! - Sets skin major id - \param skin major id + Returns icon application id. + \retval icon application id. */ -void CaIconDescription::setSkinMajorId(int id) +QString CaIconDescription::applicationId() const { - m_d->setSkinMajorId(id); + return m_d->applicationId(); } /*! - Returns skin minor id - \retval skin minor id + Sets icon application id. + \param QString with icon application id. */ -int CaIconDescription::skinMinorId() const +void CaIconDescription::setApplicationId(const QString &applicationId) { - return m_d->skinMinorId(); -} - -/*! - Sets skin minor id - \param skin minor id - */ -void CaIconDescription::setSkinMinorId(int id) -{ - m_d->setSkinMinorId(id); + m_d->setApplicationId(applicationId); } /*! @@ -214,8 +179,8 @@ */ CaIconDescriptionPrivate::CaIconDescriptionPrivate( CaIconDescription *iconDescriptionPublic) : - m_q(iconDescriptionPublic), mBitmapId(0), mMaskId(0), mSkinMajorId(0), - mSkinMinorId(0) + m_q(iconDescriptionPublic), mId(0), mFilename(), mSkinId(), + mApplicationId(0) { } @@ -257,73 +222,38 @@ Returns bitmap id. \retval bitmap id. */ -int CaIconDescriptionPrivate::bitmapId() const +QString CaIconDescriptionPrivate::skinId() const { - return mBitmapId; -} - -/*! - Sets bitmap id. - \param bitmap id. - */ -void CaIconDescriptionPrivate::setBitmapId(int bitmapId) -{ - mBitmapId = bitmapId; + return mSkinId; } /*! - Returns icon mask id. - \retval icon mask id. + Sets skin id. + \param skinId skin id. */ -int CaIconDescriptionPrivate::maskId() const +void CaIconDescriptionPrivate::setSkinId(const QString &skinId) { - return mMaskId; -} - -/*! - Sets icon mask id. - \param maskId icon mask id. - */ -void CaIconDescriptionPrivate::setMaskId(int maskId) -{ - mMaskId = maskId; + mSkinId = skinId; } /*! - Returns skin major id. - \retval skin major id. + Returns icon application id. + \retval icon application id. */ -int CaIconDescriptionPrivate::skinMajorId() const +QString CaIconDescriptionPrivate::applicationId() const { - return mSkinMajorId; + return mApplicationId; } /*! - Sets skin major id. - \param id skin major id. + Sets icon application id. + \param applicationId icon application id. */ -void CaIconDescriptionPrivate::setSkinMajorId(int id) +void CaIconDescriptionPrivate::setApplicationId(const QString &applicationId) { - mSkinMajorId = id; + mApplicationId = applicationId; } -/*! - Returns skin minor id. - \retval skin minor id. - */ -int CaIconDescriptionPrivate::skinMinorId() const -{ - return mSkinMinorId; -} - -/*! - Sets skin minor id. - \param skin minor id. - */ -void CaIconDescriptionPrivate::setSkinMinorId(int id) -{ - mSkinMinorId = id; -} /*! Sets icon id. diff -r 9d806967057c -r 7f0462e8c3da contentstorage/caclient/src/caquery.cpp --- a/contentstorage/caclient/src/caquery.cpp Tue Mar 23 23:42:03 2010 +0200 +++ b/contentstorage/caclient/src/caquery.cpp Tue Mar 23 23:55:55 2010 +0200 @@ -232,6 +232,44 @@ } /*! + Returns query attributes. + \retval map of attributes indexed by their names. + */ +QMap CaQuery::attributes() const +{ + return m_d->attributes(); +} + +/*! + Returns an attribute + \param name name of an attribute + \retval value of attribute + */ +QString CaQuery::attribute(const QString &name) const +{ + return m_d->attribute(name); +} + +/*! + Sets attribute. + \param name name of an attribute. + \param value value of an attribute. + */ +void CaQuery::setAttribute(const QString &name, const QString &value) +{ + m_d->setAttribute(name, value); +} + +/*! + Removes attribute. + \param name name of an attribute. + */ +void CaQuery::removeAttribute(const QString &name) +{ + m_d->removeAttribute(name); +} + +/*! Clears query (restores the initial state). */ void CaQuery::clear() @@ -247,7 +285,7 @@ m_q(queryPublic), mEntryRoles(ItemEntryRole | GroupEntryRole), mParentId(0), mEntryTypeNames(), mFlagsOn(), mFlagsOff(), mSortAttribute(DefaultSortAttribute), - mSortOrder(Qt::AscendingOrder), mCount(0) + mSortOrder(Qt::AscendingOrder), mCount(0), mAttributes() { } @@ -269,6 +307,7 @@ mSortAttribute = queryPrivate.mSortAttribute; mSortOrder = queryPrivate.mSortOrder; mCount = queryPrivate.mCount; + mAttributes = queryPrivate.mAttributes; return *this; } @@ -422,6 +461,42 @@ } /*! + \retval map of attributes indexed by their names + */ +QMap CaQueryPrivate::attributes() const +{ + return mAttributes; +} + +/*! + \param name name of an attribute + \retval value of attribute + */ +QString CaQueryPrivate::attribute(const QString &name) const +{ + return mAttributes.value(name); +} + +/*! + Sets attribute. + \param name name of an attribute. + \param value value of an attribute. + */ +void CaQueryPrivate::setAttribute(const QString &name, const QString &value) +{ + mAttributes.insert(name, value); +} + +/*! + Removes an attribute. + \param name name of an attribute. + */ +void CaQueryPrivate::removeAttribute(const QString &name) +{ + mAttributes.remove(name); +} + +/*! Clears query (restores the initial state). */ void CaQueryPrivate::clear() diff -r 9d806967057c -r 7f0462e8c3da contentstorage/caclient/src/caservice.cpp --- a/contentstorage/caclient/src/caservice.cpp Tue Mar 23 23:42:03 2010 +0200 +++ b/contentstorage/caclient/src/caservice.cpp Tue Mar 23 23:55:55 2010 +0200 @@ -830,14 +830,13 @@ bool CaService::executeCommand(int entryId, const QString &command) const { bool result = false; - + CaEntry *const temporaryEntry = getEntry(entryId); - + if (temporaryEntry != NULL) { result = executeCommand(*temporaryEntry, command); delete temporaryEntry; } - return result; } @@ -935,7 +934,7 @@ \param servicePublic pointer to public service */ CaServicePrivate::CaServicePrivate(CaService *servicePublic) : - m_q(servicePublic), mProxy(new CaClientProxy()) + m_q(servicePublic), mProxy(new CaClientProxy) { const ErrorCode connectionResult = mProxy->connect(); diff -r 9d806967057c -r 7f0462e8c3da contentstorage/caclient/stub/src/caclientproxy.cpp --- a/contentstorage/caclient/stub/src/caclientproxy.cpp Tue Mar 23 23:42:03 2010 +0200 +++ b/contentstorage/caclient/stub/src/caclientproxy.cpp Tue Mar 23 23:55:55 2010 +0200 @@ -498,7 +498,7 @@ QSqlQuery query(db); query.prepare( "SELECT ENTRY_ID, EN_TEXT, EN_DESCRIPTION, EN_TYPE_NAME, EN_FLAGS, EN_ROLE, EN_UID, \ - ICON_ID, IC_BITMAP_ID, IC_MASK_ID, IC_SKINMAJOR_ID, IC_SKINMINOR_ID, IC_FILENAME \ + ICON_ID, IC_FILENAME, IC_SKIN_ID, IC_APP_ID \ FROM CA_ENTRY LEFT JOIN CA_ICON ON EN_ICON_ID = ICON_ID WHERE ENTRY_ID = ?"); query.addBindValue(i); @@ -522,16 +522,13 @@ CaIconDescription icon; CaObjectAdapter::setId(icon, query.value(query.record().indexOf("ICON_ID")).toInt()); - icon.setBitmapId(query.value(query.record().indexOf( - "IC_BITMAP_ID")).toInt()); - icon.setMaskId(query.value(query.record().indexOf( - "IC_MASK_ID")).toInt()); - icon.setSkinMajorId(query.value(query.record().indexOf( - "IC_SKINMAJOR_ID")).toInt()); - icon.setSkinMinorId(query.value(query.record().indexOf( - "IC_SKINMINOR_ID")).toInt()); + icon.setFilename(query.value(query.record().indexOf( "IC_FILENAME")).toString()); + icon.setSkinId(query.value(query.record().indexOf( + "IC_SKIN_ID")).toString()); + icon.setApplicationId(query.value(query.record().indexOf( + "IC_APP_ID")).toString()); entry->setIconDescription(icon); // attributes @@ -813,20 +810,16 @@ //set icon information into db QSqlQuery query(dbConnection()); query.prepare( - "SELECT ICON_ID FROM CA_ICON WHERE IC_FILENAME = :IC_FILENAME \ - AND IC_BITMAP_ID = :IC_BITMAP_ID \ - AND IC_MASK_ID = :IC_MASK_ID \ - AND IC_SKINMAJOR_ID = :IC_SKINMAJOR_ID \ - AND IC_SKINMINOR_ID = :IC_SKINMINOR_ID"); + "SELECT ICON_ID FROM CA_ICON WHERE IC_FILENAME = :IC_FILENAME" + " AND IC_SKIN_ID = :IC_SKIN_ID" + " AND IC_APP_ID = :IC_APP_ID"); query.bindValue(":IC_FILENAME", entryClone->iconDescription().filename()); - query.bindValue(":IC_BITMAP_ID", - entryClone->iconDescription().bitmapId()); - query.bindValue(":IC_MASK_ID", entryClone->iconDescription().maskId()); - query.bindValue(":IC_SKINMAJOR_ID", - entryClone->iconDescription().skinMajorId()); - query.bindValue(":IC_SKINMINOR_ID", - entryClone->iconDescription().skinMinorId()); + query.bindValue(":IC_SKIN_ID", + entryClone->iconDescription().filename()); + query.bindValue(":IC_APP_ID", + entryClone->iconDescription().filename()); + bool success = query.exec(); if (success && query.next()) { @@ -834,19 +827,17 @@ int iconId = query.value(query.record().indexOf("ICON_ID")).toInt(); qDebug() << "iconId = " << iconId; CaIconDescription iconDescription = entryClone->iconDescription(); - if (iconId <= 0 && (iconDescription.filename() != "" - || iconDescription.bitmapId() != 0 || iconDescription.maskId() != 0 - || iconDescription.skinMajorId() != 0 - || iconDescription.skinMinorId() != 0)) { + if (iconId <= 0 + && (!iconDescription.filename().isEmpty() + || !iconDescription.skinId().isEmpty() + || !iconDescription.applicationId().isEmpty())) { query.prepare( - "INSERT INTO CA_ICON \ - (IC_FILENAME,IC_BITMAP_ID,IC_MASK_ID,IC_SKINMAJOR_ID,IC_SKINMINOR_ID) \ - VALUES ( ? , ? , ? , ? , ? )"); + "INSERT INTO CA_ICON" + " (IC_FILENAME, IC_SKIN_ID, IC_APP_ID)" + " VALUES ( ? , ? , ? , ? , ? )"); query.addBindValue(iconDescription.filename()); - query.addBindValue(iconDescription.bitmapId()); - query.addBindValue(iconDescription.maskId()); - query.addBindValue(iconDescription.skinMajorId()); - query.addBindValue(iconDescription.skinMinorId()); + query.addBindValue(iconDescription.skinId()); + query.addBindValue(iconDescription.applicationId()); success = query.exec(); qDebug() << query.executedQuery(); iconId = query.lastInsertId().toInt(); diff -r 9d806967057c -r 7f0462e8c3da contentstorage/cahandler/app/app.pri --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/contentstorage/cahandler/app/app.pri Tue Mar 23 23:55:55 2010 +0200 @@ -0,0 +1,12 @@ +# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +# All rights reserved. +# This component and the accompanying materials are made available +# under the terms of "Eclipse Public License v1.0" +# which accompanies this distribution, and is available +# at the URL "http://www.eclipse.org/legal/epl-v10.html". +# Initial Contributors: +# Nokia Corporation - initial contribution. +# Contributors: +# Description: +HEADERS += ./inc/*.h ../inc/*.h +SOURCES += ./src/*.cpp diff -r 9d806967057c -r 7f0462e8c3da contentstorage/cahandler/app/app.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/contentstorage/cahandler/app/app.pro Tue Mar 23 23:55:55 2010 +0200 @@ -0,0 +1,56 @@ +# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +# All rights reserved. +# This component and the accompanying materials are made available +# under the terms of "Eclipse Public License v1.0" +# which accompanies this distribution, and is available +# at the URL "http://www.eclipse.org/legal/epl-v10.html". +# Initial Contributors: +# Nokia Corporation - initial contribution. +# Contributors: +# Description: + +TEMPLATE = lib +TARGET = caapphandlerplugin +CONFIG += plugin hb mobility +MOBILITY = serviceframework + +PLUGIN_SUBDIR = /hsresources/plugins/commandhandler + +include(../../../common.pri) + + +DEPENDPATH += ./inc \ + ./src + +INCLUDEPATH += ./inc \ + ../../inc \ + ../../cautils/inc \ + ../../caclient/inc \ + ../../caclient/s60/inc \ + $$MW_LAYER_SYSTEMINCLUDE + +include(app.pri) + +symbian: { + TARGET.UID3 = 0x20022F83 + + LIBS += \ + -leuser \ + -lecom \ + -lswinstcli \ + -lcautils \ + -lcaclient \ + -lapgrfx \ + -lws32 \ + -lapparc \ + -lsisregistryclient \ + -leikcore \ + -lcone \ + -lefsrv \ + -lxqutils + + + exists($${EPOCROOT}epoc32/include/mw/XQSettingsManager):LIBS += -lxqsettingsmanager +} + + diff -r 9d806967057c -r 7f0462e8c3da contentstorage/cahandler/app/inc/caapphandler.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/contentstorage/cahandler/app/inc/caapphandler.h Tue Mar 23 23:55:55 2010 +0200 @@ -0,0 +1,89 @@ +/* + * Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). + * All rights reserved. + * This component and the accompanying materials are made available + * under the terms of "Eclipse Public License v1.0" + * which accompanies this distribution, and is available + * at the URL "http://www.eclipse.org/legal/epl-v10.html". + * + * Initial Contributors: + * Nokia Corporation - initial contribution. + * + * Contributors: + * + * Description: ?Description + * + */ + +#ifndef C_CAAPPHANDLER_H +#define C_CAAPPHANDLER_H + +#include + +// forward declarations +class CEikonEnv; +class CCaInnerEntry; +class CCaUninstallOperation; + +/** + * Command handler for application entries. + * + * @lib caclient.lib + */ +NONSHARABLE_CLASS( CCaAppHandler ) + { + +public: + /** + * Allocates memory for and initializes CCaAppHandler object + */ + static CCaAppHandler* NewL(); + + /** + * Destructor. + */ + virtual ~CCaAppHandler(); + +protected: + + CCaAppHandler(); + + void ConstructL(); + +public: + + /** + * Handle command. + * @param aItem Item of supported type. + * @param aCommand Command. + * @param aParams. Command parameters. + * @param aStatus Observer request status. When the operation completes, + * this status will be completed with the resulting error code. + * @return Asynchronous operation. Owned by the caller. + */ + void HandleCommandL( CCaInnerEntry& aEntry, const TDesC8& aCommand ); + +private: + /** + * Launches application + * @param aUid UID of the application to launch + * @param aParam command parameters + * @param aViewId id of the view the application is to start in + */ + void LaunchApplicationL( const TUid aUid, const TDesC8 &aParam, + TInt aViewId ); + + /** + * Closes application + * @param aEntry the entry represeting application to close + */ + void CloseApplicationL( CCaInnerEntry& aEntry ); + +private: + // data + + CEikonEnv* iEikEnv; + CCaUninstallOperation* iUninstallOperation; + }; + +#endif // C_CAAPPHANDLER_H diff -r 9d806967057c -r 7f0462e8c3da contentstorage/cahandler/app/inc/caapphandlerplugin.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/contentstorage/cahandler/app/inc/caapphandlerplugin.h Tue Mar 23 23:55:55 2010 +0200 @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). + * All rights reserved. + * This component and the accompanying materials are made available + * under the terms of "Eclipse Public License v1.0" + * which accompanies this distribution, and is available + * at the URL "http://www.eclipse.org/legal/epl-v10.html". + * + * Initial Contributors: + * Nokia Corporation - initial contribution. + * + * Contributors: + * + * Description: + * + */ + +#ifndef CA_APP_HANDLER_PLUGIN_H +#define CA_APP_HANDLER_PLUGIN_H + +#include +#include + +QTM_USE_NAMESPACE + +class CaAppHandlerPlugin : public QObject, public QServicePluginInterface +{ + Q_OBJECT + Q_INTERFACES(QtMobility::QServicePluginInterface) + +public: + QObject *createInstance(const QServiceInterfaceDescriptor &descriptor, + QServiceContext *context, + QAbstractSecuritySession *session); +}; + +#endif diff -r 9d806967057c -r 7f0462e8c3da contentstorage/cahandler/app/inc/cauninstalloperation.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/contentstorage/cahandler/app/inc/cauninstalloperation.h Tue Mar 23 23:55:55 2010 +0200 @@ -0,0 +1,98 @@ +/* + * Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). + * All rights reserved. + * This component and the accompanying materials are made available + * under the terms of "Eclipse Public License v1.0" + * which accompanies this distribution, and is available + * at the URL "http://www.eclipse.org/legal/epl-v10.html". + * + * Initial Contributors: + * Nokia Corporation - initial contribution. + * + * Contributors: + * + * Description: ?Description + * + */ + +#ifndef C_CAUNINSTALLOPERATION_H +#define C_CAUNINSTALLOPERATION_H + +#include +#include + +/** + * Uninstall CMenuOperation + * Encapsulates the functionality of uninstalling an application. + * + * @lib caclient.lib + */ +NONSHARABLE_CLASS(CCaUninstallOperation): public CActive { + +public: + /** + * Destructor + */ + virtual ~CCaUninstallOperation(); + + /** + * Two-phased constructor. Leaves on failure. + * Allocates memory for and constructs an uninstaller object. After that + * starts asynchronous uninnstallation of the requested entry + * @param aEntry entry to be uninstalled + * @param aPriority priority of the active scheduler responsible for handling + * asynchronous installation operation + * @return The constructed object. + */ + static CCaUninstallOperation *NewL(CCaInnerEntry &aEntry, + TInt aPriority = CActive::EPriorityStandard); + +private: + // construction + /** + * Constructor. + * Starts active scheduler. + * @param aEntry entry to be uninstalle + * @param aPriority priority of the active scheduler responsible for handling + * asynchronous installation operation + */ + CCaUninstallOperation(CCaInnerEntry &aEntry, TInt aPriority); + + /** + * Initializes the object and starts asynchronous uninstallation process. + * @param aEntry entry to be uninstalle + * asynchronous installation operation + */ + void ConstructL(CCaInnerEntry &aEntry); + + /** + * Retrieves package information for requested application uid + * @param aAppUid application uid + @param aMimeType placeholder for resulting mime type of the package + * @param aPackageUid placeholder for resulting package uid of the application + */ + void AppInfoL(const TUid &aAppUid, TPtrC8 &aMimeType, TUid &aPackageUid); + + /** + * Retrieves package uid + * @param aAppFullName application full name + @param aPackageUid placeholder for resulting package uid of the application + @return true if package uid was found + */ + TBool GetInstallPkgUidL(const TDesC &aAppFullName, TUid &aPackageUid); + +private: + // from CActive + + void RunL(); + void DoCancel(); + TInt RunError(TInt aError); + +private: + + CCaInnerEntry &iEntry; + SwiUI::RSWInstLauncher iUninstaller; + TInt iId; +}; + +#endif // C_CAUNINSTALLOPERATION_H diff -r 9d806967057c -r 7f0462e8c3da contentstorage/cahandler/app/resource/caapphandlerplugin.s60xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/contentstorage/cahandler/app/resource/caapphandlerplugin.s60xml Tue Mar 23 23:55:55 2010 +0200 @@ -0,0 +1,13 @@ + + + caapphandlerplugin + z:/hsresources/plugins/commandhandler/caapphandlerplugin.qtplugin + + + com.nokia.homescreen.ICommandHandler + 1.0 + + + application + + diff -r 9d806967057c -r 7f0462e8c3da contentstorage/cahandler/app/resource/caapphandlerplugin.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/contentstorage/cahandler/app/resource/caapphandlerplugin.xml Tue Mar 23 23:55:55 2010 +0200 @@ -0,0 +1,13 @@ + + + caapphandlerplugin + caapphandlerplugin + + + com.nokia.homescreen.ICommandHandler + 1.0 + + + application + + diff -r 9d806967057c -r 7f0462e8c3da contentstorage/cahandler/app/src/caapphandler.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/contentstorage/cahandler/app/src/caapphandler.cpp Tue Mar 23 23:55:55 2010 +0200 @@ -0,0 +1,198 @@ +/* + * Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). + * All rights reserved. + * This component and the accompanying materials are made available + * under the terms of "Eclipse Public License v1.0" + * which accompanies this distribution, and is available + * at the URL "http://www.eclipse.org/legal/epl-v10.html". + * + * Initial Contributors: + * Nokia Corporation - initial contribution. + * + * Contributors: + * + * Description: ?Description + * + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "caapphandler.h" +#include "cainnerentry.h" +#include "cauninstalloperation.h" + +#include "cautils.h" +#include "cadef.h" + +// ======== MEMBER FUNCTIONS ======== + +// --------------------------------------------------------------------------- +// +// --------------------------------------------------------------------------- +// +CCaAppHandler::~CCaAppHandler() +{ + delete iUninstallOperation; +} + +// --------------------------------------------------------------------------- +// +// --------------------------------------------------------------------------- +// +CCaAppHandler *CCaAppHandler::NewL() +{ + CCaAppHandler *handler = new(ELeave) CCaAppHandler(); + CleanupStack::PushL(handler); + handler->ConstructL(); + CleanupStack::Pop(handler); + return handler; +} + +// --------------------------------------------------------- +// CCaAppHandler::CCaAppHandler +// --------------------------------------------------------- +// +CCaAppHandler::CCaAppHandler() +{ + iEikEnv = CEikonEnv::Static(); + iUninstallOperation = NULL; +} + +// --------------------------------------------------------------------------- +// +// --------------------------------------------------------------------------- +// +void CCaAppHandler::ConstructL() +{ +} + + +// --------------------------------------------------------------------------- +// +// --------------------------------------------------------------------------- +// +void CCaAppHandler::HandleCommandL(CCaInnerEntry &aEntry, + const TDesC8 &aCommand) +{ + if (aCommand == KCaCmdOpen() && aEntry.GetEntryTypeName() + == KCaTypeApp()) { + TInt viewId(-1); + TBuf viewIdValue; + if (aEntry.FindAttribute(KCaAttrView(), viewIdValue)) { + if (MenuUtils::GetTUint(viewIdValue, (TUint &) viewId) + != KErrNone) { + User::Leave(KErrCorrupt); + } + } + LaunchApplicationL(TUid::Uid(aEntry.GetUid()), KNullDesC8(), + viewId); + } else if (aCommand == KCaCmdClose() && aEntry.GetEntryTypeName() + == KCaTypeApp()) { + CloseApplicationL(aEntry); + } else if (aCommand == KCaCmdRemove() + && (aEntry.GetEntryTypeName() == KCaTypeApp() + || aEntry.GetEntryTypeName() == KCaTypeWidget())) { + if (iUninstallOperation && iUninstallOperation->IsActive()) { + User::Leave(KErrInUse); + } + delete iUninstallOperation; + iUninstallOperation = NULL; + iUninstallOperation = CCaUninstallOperation::NewL(aEntry); + } else { + User::Leave(KErrNotSupported); + } +} + +// --------------------------------------------------------------------------- +// +// --------------------------------------------------------------------------- +// +void CCaAppHandler::LaunchApplicationL(const TUid aUid, + const TDesC8 &aParam, TInt aViewId) +{ + if (aViewId > 0 && iEikEnv) { + TUid viewId = TUid::Uid(aViewId); + TVwsViewId view(aUid, viewId); + iEikEnv->EikAppUi()->ActivateViewL(view); + } else { + RWsSession wsSession; + User::LeaveIfError(wsSession.Connect()); + CleanupClosePushL (wsSession); + + CAknTaskList *taskList = CAknTaskList::NewL(wsSession); + TApaTask task = taskList->FindRootApp(aUid); + delete taskList; + + if (task.Exists()) { + task.BringToForeground(); + } else { + TApaAppInfo appInfo; + TApaAppCapabilityBuf capabilityBuf; + RApaLsSession appArcSession; + User::LeaveIfError(appArcSession.Connect()); + CleanupClosePushL (appArcSession); + + User::LeaveIfError(appArcSession.GetAppInfo(appInfo, aUid)); + User::LeaveIfError(appArcSession.GetAppCapability( + capabilityBuf, aUid)); + + TApaAppCapability &caps = capabilityBuf(); + TFileName appName = appInfo.iFullName; + CApaCommandLine *cmdLine = CApaCommandLine::NewLC(); + cmdLine->SetExecutableNameL(appName); + + if (caps.iLaunchInBackground) { + cmdLine->SetCommandL(EApaCommandBackground); + } else { + cmdLine->SetCommandL(EApaCommandRun); + } + + cmdLine->SetTailEndL(aParam); + + User::LeaveIfError(appArcSession.StartApp(*cmdLine)); + + CleanupStack::PopAndDestroy(cmdLine); + CleanupStack::PopAndDestroy(&appArcSession); + } + CleanupStack::PopAndDestroy(&wsSession); + } +} + +// --------------------------------------------------------------------------- +// +// --------------------------------------------------------------------------- +// +void CCaAppHandler::CloseApplicationL(CCaInnerEntry &aEntry) +{ + RWsSession wsSession; + User::LeaveIfError(wsSession.Connect()); + CleanupClosePushL (wsSession); + + if ((aEntry.GetFlags() & ERunning) && + (!(aEntry.GetFlags() & ESystem))) { + RBuf value; + CleanupClosePushL(value); + value.CreateL(KCaMaxAttrValueLen); + if (aEntry.FindAttribute(KCaAttrWindowGroupId, value)) { + TInt wgId(KErrNotFound); + TLex16 parser(value); + if (KErrNone == parser.Val(wgId) && wgId > 0) { + TWsEvent event; + event.SetTimeNow(); + event.SetType(KAknShutOrHideApp); + wsSession.SendEventToWindowGroup(wgId, event); + } + } + CleanupStack::PopAndDestroy(&value); + } + + CleanupStack::PopAndDestroy(&wsSession); +} + diff -r 9d806967057c -r 7f0462e8c3da contentstorage/cahandler/app/src/caapphandlerplugin.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/contentstorage/cahandler/app/src/caapphandlerplugin.cpp Tue Mar 23 23:55:55 2010 +0200 @@ -0,0 +1,89 @@ +/* + * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). + * All rights reserved. + * This component and the accompanying materials are made available + * under the terms of "Eclipse Public License v1.0" + * which accompanies this distribution, and is available + * at the URL "http://www.eclipse.org/legal/epl-v10.html". + * + * Initial Contributors: + * Nokia Corporation - initial contribution. + * + * Contributors: + * + * Description: + * + */ + +#include +#include +#include +#include +#include "cahandlerloader.h" + +#include "caapphandler.h" +#include "caapphandlerplugin.h" +#include "cas60handleradapter.h" + +/*! + \class CaAppHandlerPlugin + \ingroup + \brief Implementation of Qt SF plugin for application command handler. +*/ + +/*! + \param descriptor Service descriptor. + \param context Ignored. + \param session Ignored. + \return An instance of the CaS60HandlerAdapter when descriptor interface name + is "com.nokia.homescreen.ICommandHandler", NULL otherwise. +*/ +QObject *CaAppHandlerPlugin::createInstance(const QServiceInterfaceDescriptor &descriptor, + QServiceContext *context, + QAbstractSecuritySession *session) +{ + Q_UNUSED(context); + Q_UNUSED(session); + + if (descriptor.interfaceName() == + "com.nokia.homescreen.ICommandHandler") { + return new CaS60HandlerAdapter; + } else { + return 0; + } +} +// TODO: uncomment when it will be used in plugin +//Q_EXPORT_PLUGIN2(caapphandlerplugin, CaAppHandlerPlugin) + + +/*! + \class CaHandler + \ingroup + \brief Interface for command handlers +*/ + +/*! + \fn int CaHandler::execute(const CaEntry &entry, const QString &commandName) = 0 + \param entry Subject of the command. + \param commandName The name of the command to execute. + Returns 0 on success, error code otherwise. + \sa e32err.h for error code descriptions. +*/ + +/*! + \class CaS60HandlerAdapter + \ingroup + \brief Adapter for S60 command handlers. + + Adapts S60 command handlers to CaHandler interface + + \sa CaHandler +*/ + +/*! + \fn int CaS60HandlerAdapter::execute(const CaEntry &entry, const QString &commandName) + \param entry Subject of the command. + \param commandName The name of the command to execute. + \return 0 on success, error code otherwise. + \sa e32err.h for error code descriptions. +*/ diff -r 9d806967057c -r 7f0462e8c3da contentstorage/cahandler/app/src/cauninstalloperation.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/contentstorage/cahandler/app/src/cauninstalloperation.cpp Tue Mar 23 23:55:55 2010 +0200 @@ -0,0 +1,203 @@ +/* + * Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). + * All rights reserved. + * This component and the accompanying materials are made available + * under the terms of "Eclipse Public License v1.0" + * which accompanies this distribution, and is available + * at the URL "http://www.eclipse.org/legal/epl-v10.html". + * + * Initial Contributors: + * Nokia Corporation - initial contribution. + * + * Contributors: + * + * Description: ?Description + * + */ + +#include +#include +#include +#include "cautils.h" +#include "cadef.h" +#include "cainnerentry.h" +#include "cauninstalloperation.h" +_LIT8(KAppMimeType, "x-epoc/x-sisx-app"); + +// ================= MEMBER FUNCTIONS ======================= + +// --------------------------------------------------------------------------- +// CCaUninstallOperation::~CCaUninstallOperation +// --------------------------------------------------------------------------- +// +CCaUninstallOperation::~CCaUninstallOperation() +{ + Cancel(); + iUninstaller.Close(); +} + +// --------------------------------------------------------------------------- +// CCaUninstallOperation::NewL +// --------------------------------------------------------------------------- +// +CCaUninstallOperation *CCaUninstallOperation::NewL(CCaInnerEntry &aEntry, + TInt aPriority) +{ + CCaUninstallOperation *self; + + self = new(ELeave) CCaUninstallOperation(aEntry, aPriority); + CleanupStack::PushL(self); + self->ConstructL(aEntry); + CleanupStack::Pop(self); + return self; +} + +// --------------------------------------------------------------------------- +// CCaUninstallOperation::CCaUninstallOperation +// --------------------------------------------------------------------------- +// +CCaUninstallOperation::CCaUninstallOperation(CCaInnerEntry &aEntry, + TInt aPriority) : + CActive(aPriority), iEntry(aEntry), iUninstaller(), iId(0) +{ + CActiveScheduler::Add(this); +} + +// --------------------------------------------------------------------------- +// CCaUninstallOperation::ConstructL +// --------------------------------------------------------------------------- +// +void CCaUninstallOperation::ConstructL(CCaInnerEntry &aEntry) +{ + TBuf uidAttr; + TUint uid = aEntry.GetUid(); + + TUid packageUid = KNullUid; + TPtrC8 mimeType; + + if (!(aEntry.GetFlags() & ERemovable)) { + User::Leave(KErrAccessDenied); + } + + User::LeaveIfError(iUninstaller.Connect()); + iId = aEntry.GetId(); + if (aEntry.GetEntryTypeName() == KCaTypeWidget()) { + TBuf uidDesc; + aEntry.FindAttribute(KCaPackageUid, uidDesc); + TLex uidLex(uidDesc); + TUint32 uidValue; + User::LeaveIfError(uidLex.Val(uidValue, EHex)); + + packageUid.iUid = static_cast(uidValue); + mimeType.Set(KAppMimeType); + } else { + AppInfoL(TUid::Uid(uid), mimeType, packageUid); + } + + // Commence the uninstallations + iUninstaller.Uninstall(iStatus, packageUid, mimeType); + SetActive(); +} + +// --------------------------------------------------------------------------- +// CCaUninstallOperation::AppInfo +// --------------------------------------------------------------------------- +// +void CCaUninstallOperation::AppInfoL(const TUid &aAppUid, + TPtrC8 &aMimeType, TUid &aPackageUid) +{ + RApaLsSession apaLsSession; + + User::LeaveIfError(apaLsSession.Connect()); + CleanupClosePushL(apaLsSession); + User::LeaveIfError(apaLsSession.GetAllApps()); + + TApaAppInfo appInfo; + User::LeaveIfError(apaLsSession.GetAppInfo(appInfo, aAppUid)); + if (!GetInstallPkgUidL(appInfo.iFullName, aPackageUid)) { + aPackageUid = aAppUid; + } + aMimeType.Set(KAppMimeType); + + CleanupStack::PopAndDestroy(&apaLsSession); +} + +// --------------------------------------------------------------------------- +// CCaUninstallOperation::GetInstallPkgUidL +// --------------------------------------------------------------------------- +// +TBool CCaUninstallOperation::GetInstallPkgUidL(const TDesC &aAppFullName, + TUid &aPackageUid) +{ + // Search for the full name of the application amongst every file name in + // every installed packages. + TBool found = EFalse; + Swi::RSisRegistrySession iSisRegSession; + + // Get the array of ids of every installed packages + if (KErrNone != iSisRegSession.Connect()) { + return found; + } + CleanupClosePushL(iSisRegSession); + + RArray packageIds; + CleanupClosePushL(packageIds); + + iSisRegSession.InstalledUidsL(packageIds); + + RPointerArray packageFiles; + CleanupClosePushL(packageFiles); + + for (TInt i = 0; i < packageIds.Count() && !found; ++i) { + const TUid packageId = packageIds[i]; + Swi::RSisRegistryEntry packageEntry; + + // Get the array of file names in the current install package and look + // if there is one suggesting that the application was installed from + // the package. + if (KErrNone == packageEntry.Open(iSisRegSession, packageId)) { + CleanupClosePushL(packageEntry); + packageEntry.FilesL(packageFiles); + for (TInt pf = 0; pf < packageFiles.Count() && !found; ++pf) { + if (packageFiles[pf]->FindC(aAppFullName) == 0) { + aPackageUid = packageId; + found = ETrue; + } + } + packageFiles.ResetAndDestroy(); + CleanupStack::PopAndDestroy(&packageEntry); + } + } + + CleanupStack::PopAndDestroy(&packageFiles); + CleanupStack::PopAndDestroy(&packageIds); + CleanupStack::PopAndDestroy(&iSisRegSession); + + return found; +} + +// --------------------------------------------------------------------------- +// CCaUninstallOperation::RunL +// --------------------------------------------------------------------------- +// +void CCaUninstallOperation::RunL() +{ +} + +// --------------------------------------------------------------------------- +// CCaUninstallOperation::DoCancel +// --------------------------------------------------------------------------- +// +void CCaUninstallOperation::DoCancel() +{ + iUninstaller.CancelAsyncRequest(SwiUI::ERequestUninstall); +} + +// --------------------------------------------------------------------------- +// CCaUninstallOperation::RunError +// --------------------------------------------------------------------------- +// +TInt CCaUninstallOperation::RunError(TInt /* aError */) +{ + return KErrNone; +} diff -r 9d806967057c -r 7f0462e8c3da contentstorage/cahandler/cahandler.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/contentstorage/cahandler/cahandler.pro Tue Mar 23 23:55:55 2010 +0200 @@ -0,0 +1,23 @@ +# +# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +# All rights reserved. +# This component and the accompanying materials are made available +# under the terms of "Eclipse Public License v1.0" +# which accompanies this distribution, and is available +# at the URL "http://www.eclipse.org/legal/epl-v10.html". +# +# Initial Contributors: +# Nokia Corporation - initial contribution. +# +# Contributors: +# +# Description: +# + +TEMPLATE = subdirs + +SUBDIRS += app +SUBDIRS += tapp +SUBDIRS += url + +CONFIG += ordered \ No newline at end of file diff -r 9d806967057c -r 7f0462e8c3da contentstorage/cahandler/inc/cas60handleradapter.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/contentstorage/cahandler/inc/cas60handleradapter.h Tue Mar 23 23:55:55 2010 +0200 @@ -0,0 +1,62 @@ +/* + * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). + * All rights reserved. + * This component and the accompanying materials are made available + * under the terms of "Eclipse Public License v1.0" + * which accompanies this distribution, and is available + * at the URL "http://www.eclipse.org/legal/epl-v10.html". + * + * Initial Contributors: + * Nokia Corporation - initial contribution. + * + * Contributors: + * + * Description: + * + */ + +#ifndef CA_S60_HANDLER_ADAPTER_H +#define CA_S60_HANDLER_ADAPTER_H + +#include +#include +#include +#include +#include +#include +#include + +#include "cainnerentry.h" +#include "cahandler.h" +#include "caobjectadapter.h" + +template +class CaS60HandlerAdapter: public CaHandler +{ +public: + int execute(const CaEntry &entry, const QString &commandName) { + + TPtrC16 commandNameDesC16( + reinterpret_cast(commandName.utf16())); + + QScopedPointer commandNameDesc8; + + TRAPD(result, + commandNameDesc8.reset(CnvUtfConverter::ConvertFromUnicodeToUtf7L( + commandNameDesC16, false))); + + QScopedPointer innerEntry(NULL); + + TRAP(result, + innerEntry.reset(CCaInnerEntry::NewL()); + CaObjectAdapter::convertL(entry, *innerEntry); + + static QScopedPointer plugin(Plugin::NewL()); + plugin->HandleCommandL(*innerEntry, commandNameDesc8->Des()); + ); + + return result; + } +}; + +#endif diff -r 9d806967057c -r 7f0462e8c3da contentstorage/cahandler/tapp/catapphandler.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/contentstorage/cahandler/tapp/catapphandler.pro Tue Mar 23 23:55:55 2010 +0200 @@ -0,0 +1,47 @@ +# +# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +# All rights reserved. +# This component and the accompanying materials are made available +# under the terms of "Eclipse Public License v1.0" +# which accompanies this distribution, and is available +# at the URL "http://www.eclipse.org/legal/epl-v10.html". +# +# Initial Contributors: +# Nokia Corporation - initial contribution. +# +# Contributors: +# +# Description: +# + +TEMPLATE = lib +TARGET = catapphandlerplugin +CONFIG += plugin mobility +MOBILITY = serviceframework + +PLUGIN_SUBDIR = /hsresources/plugins/commandhandler + + +include (../../../common.pri) + + +DEPENDPATH += ./inc \ + ./src \ + ../../caclient/s60/inc + +INCLUDEPATH += ./inc \ + ../../caclient/s60/inc + + +symbian: { + TARGET.UID3 = 0x20028710 + + + LIBS += -lxqservice \ + -lxqutils +# -lhsutils + +} + + +include(catapphandler.pri) diff -r 9d806967057c -r 7f0462e8c3da contentstorage/cahandler/tapp/catapphandlerplugin.pri --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/contentstorage/cahandler/tapp/catapphandlerplugin.pri Tue Mar 23 23:55:55 2010 +0200 @@ -0,0 +1,20 @@ +# +# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +# All rights reserved. +# This component and the accompanying materials are made available +# under the terms of "Eclipse Public License v1.0" +# which accompanies this distribution, and is available +# at the URL "http://www.eclipse.org/legal/epl-v10.html". +# +# Initial Contributors: +# Nokia Corporation - initial contribution. +# +# Contributors: +# +# Description: +# + +HEADERS += ./inc/*.h ../inc/*.h +SOURCES += ./src/*.cpp + + diff -r 9d806967057c -r 7f0462e8c3da contentstorage/cahandler/tapp/inc/catapphandler.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/contentstorage/cahandler/tapp/inc/catapphandler.h Tue Mar 23 23:55:55 2010 +0200 @@ -0,0 +1,47 @@ +/* + * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). + * All rights reserved. + * This component and the accompanying materials are made available + * under the terms of "Eclipse Public License v1.0" + * which accompanies this distribution, and is available + * at the URL "http://www.eclipse.org/legal/epl-v10.html". + * + * Initial Contributors: + * Nokia Corporation - initial contribution. + * + * Contributors: + * + * Description: Default implementation of the tapp handler + * + */ + +#ifndef CATAPPHANDLER_H +#define CATAPPHANDLER_H + +#include +#include "cahandler.h" +#include "cadefs.h" + +class CaEntry; +class XQApplicationManager; + +const QString hsitemLaunchUri("item:launchuri"); + +class CaTappHandler: public CaHandler +{ +Q_OBJECT + +public: + +explicit CaTappHandler(QObject *parent = 0); + ~CaTappHandler(); + + Q_INVOKABLE + int execute(const CaEntry& entry, const QString& command); + +private: + XQApplicationManager* mAiwMgr; + +}; + +#endif diff -r 9d806967057c -r 7f0462e8c3da contentstorage/cahandler/tapp/inc/catapphandlerplugin.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/contentstorage/cahandler/tapp/inc/catapphandlerplugin.h Tue Mar 23 23:55:55 2010 +0200 @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). + * All rights reserved. + * This component and the accompanying materials are made available + * under the terms of "Eclipse Public License v1.0" + * which accompanies this distribution, and is available + * at the URL "http://www.eclipse.org/legal/epl-v10.html". + * + * Initial Contributors: + * Nokia Corporation - initial contribution. + * + * Contributors: + * + * Description: Default template app handler plugin + * + */ + +#ifndef CATAPPHANDLERPLUGIN_H +#define CATAPPHANDLERPLUGIN_H + +#include +#include +#include + +QTM_USE_NAMESPACE + +class CaTappHandlerPlugin: public QObject, public QServicePluginInterface +{ +Q_OBJECT +Q_INTERFACES(QtMobility::QServicePluginInterface) + +public: + QObject *createInstance(const QServiceInterfaceDescriptor &descriptor, + QServiceContext *context, QAbstractSecuritySession *session); +}; + +#endif //CATAPPHANDLERPLUGIN_H diff -r 9d806967057c -r 7f0462e8c3da contentstorage/cahandler/tapp/resource/catapphandlerplugin.s60xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/contentstorage/cahandler/tapp/resource/catapphandlerplugin.s60xml Tue Mar 23 23:55:55 2010 +0200 @@ -0,0 +1,13 @@ + + + catapphandlerplugin + z:/hsresources/plugins/commandhandler/catapphandlerplugin.qtplugin + Content Arsenal tapp handler plugin + + com.nokia.homescreen.ICommandHandler + 1.0 + executes commands on tapps + + + + diff -r 9d806967057c -r 7f0462e8c3da contentstorage/cahandler/tapp/resource/catapphandlerplugin.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/contentstorage/cahandler/tapp/resource/catapphandlerplugin.xml Tue Mar 23 23:55:55 2010 +0200 @@ -0,0 +1,13 @@ + + + catapphandlerplugin + z:/hsresources/plugins/commandhandler/catapphandlerplugin.qtplugin + Content Arsenal tapp handler plugin + + com.nokia.homescreen.ICommandHandler + 1.0 + executes commands on tapps + application + + + diff -r 9d806967057c -r 7f0462e8c3da contentstorage/cahandler/tapp/src/catapphandler.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/contentstorage/cahandler/tapp/src/catapphandler.cpp Tue Mar 23 23:55:55 2010 +0200 @@ -0,0 +1,73 @@ +/* + * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). + * All rights reserved. + * This component and the accompanying materials are made available + * under the terms of "Eclipse Public License v1.0" + * which accompanies this distribution, and is available + * at the URL "http://www.eclipse.org/legal/epl-v10.html". + * + * Initial Contributors: + * Nokia Corporation - initial contribution. + * + * Contributors: + * + * Description: Default implementation of the home screen runtime. + * + */ + +#include +#include +#include + +#include + +#include "caentry.h" +#include "catapphandler.h" + +QTM_USE_NAMESPACE + +/*! + \class CaTappHandler + \ingroup + \brief Implementation of templated application command handler. +*/ + +/*! + Constructor. + \param parent Parent object of this object. + */ +CaTappHandler::CaTappHandler(QObject *parent) +{ + mAiwMgr = new XQApplicationManager(); +} + +/*! + Destructor. + */ +CaTappHandler::~CaTappHandler() +{ + delete mAiwMgr; +} + +/*! + Executes \a command by default "open" on template application represented by \a entry. + Uses XQApplicationManager + \param entry Subject of the \a command. + \param command Description of the command. + \return Error code described in QSERVICEMANAGER.H + */ +int CaTappHandler::execute(const CaEntry& entry, const QString& command) +{ + int error = 0; // this returns Error enum from QSERVICEMANAGER.H + if (command == caCmdOpen) { + QUrl url(entry.attribute(hsitemLaunchUri)); // f.e. QUrl url ("application://101F7AE7?"); + QScopedPointer request(mAiwMgr->create(url, true)); + if (!request.isNull()) { + bool res = request->send(); + if (!res) { + error = request->lastError(); + } + } + } + return error; +} diff -r 9d806967057c -r 7f0462e8c3da contentstorage/cahandler/tapp/src/catapphandlerplugin.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/contentstorage/cahandler/tapp/src/catapphandlerplugin.cpp Tue Mar 23 23:55:55 2010 +0200 @@ -0,0 +1,62 @@ +/* + * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). + * All rights reserved. + * This component and the accompanying materials are made available + * under the terms of "Eclipse Public License v1.0" + * which accompanies this distribution, and is available + * at the URL "http://www.eclipse.org/legal/epl-v10.html". + * + * Initial Contributors: + * Nokia Corporation - initial contribution. + * + * Contributors: + * + * Description: Default runtime plugin. + * + */ + +/*#include + #include + #include + */ + +#include "catapphandlerplugin.h" +#include "catapphandler.h" + +#include + +#ifdef COVERAGE_MEASUREMENT +#pragma CTC SKIP +#endif //COVERAGE_MEASUREMENT +/*! + \class CaTappHandlerPlugin + \ingroup + \brief Implementation of Qt SF plugin for templated application command handler. +*/ + +/*! + \param descriptor service descriptor + \param context ignored + \param session ignored + \return An instance of the CaTapphandler object when descriptor interface name + is "com.nokia.homescreen.ICommandHandler", NULL otherwise. +*/ +QObject *CaTappHandlerPlugin::createInstance(const QServiceInterfaceDescriptor &descriptor, + QServiceContext *context, QAbstractSecuritySession *session) +{ + Q_UNUSED(context); + Q_UNUSED(session); + + if (descriptor.interfaceName() == QLatin1String("com.nokia.homescreen.ICommandHandler")) { + return new CaTappHandler(); + } + else { + return 0; + } +} + +Q_EXPORT_PLUGIN2(catapphandlerplugin, CaTappHandlerPlugin) + +#ifdef COVERAGE_MEASUREMENT +#pragma CTC ENDSKIP +#endif //COVERAGE_MEASUREMENT diff -r 9d806967057c -r 7f0462e8c3da contentstorage/cahandler/url/inc/caurlhandler.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/contentstorage/cahandler/url/inc/caurlhandler.h Tue Mar 23 23:55:55 2010 +0200 @@ -0,0 +1,89 @@ +/* + * Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). + * All rights reserved. + * This component and the accompanying materials are made available + * under the terms of "Eclipse Public License v1.0" + * which accompanies this distribution, and is available + * at the URL "http://www.eclipse.org/legal/epl-v10.html". + * + * Initial Contributors: + * Nokia Corporation - initial contribution. + * + * Contributors: + * + * Description: ?Description + * + */ + +#ifndef __CCAURLHANDLER_H__ +#define __CCAURLHANDLER_H__ + +#include + +class CCaInnerEntry; + +// Constants +const TUid KUidBrowser = + { + 0x10008D39 + }; +_LIT( KBrowserPrefix, "4 " ); + +/** + * Command handler for url entries. + * + * @lib caclient.lib + */ +NONSHARABLE_CLASS( CCaUrlHandler ) + { + +public: + // construction + + /** + * Destructor. + */ + virtual ~CCaUrlHandler(); + + /** + * Two-phased constructor. Leaves on failure. + * @return The constructed object. + */ + static CCaUrlHandler* NewL(); + +protected: + // construction + + /** + * Constructor. + * @param aMenu Menu. + */ + CCaUrlHandler(); + + /** + * Second-phase constructor. + */ + void ConstructL(); + +public: + + + /** + * Handle command. + * @param aEntry The url entry to be processed. + * @param aCommand Command. + */ + void HandleCommandL( CCaInnerEntry& aEntry, const TDesC8& aCommand ); + +private: + // internal + + /** + * Launches the url. + * @param aUrl The url to be launched. + */ + void LaunchUrlL( const TDesC& aUrl ); + + }; + +#endif // __CCAURLHANDLER_H__ diff -r 9d806967057c -r 7f0462e8c3da contentstorage/cahandler/url/inc/caurlhandlerplugin.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/contentstorage/cahandler/url/inc/caurlhandlerplugin.h Tue Mar 23 23:55:55 2010 +0200 @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). + * All rights reserved. + * This component and the accompanying materials are made available + * under the terms of "Eclipse Public License v1.0" + * which accompanies this distribution, and is available + * at the URL "http://www.eclipse.org/legal/epl-v10.html". + * + * Initial Contributors: + * Nokia Corporation - initial contribution. + * + * Contributors: + * + * Description: + * + */ + +#ifndef CA_URL_HANDLER_PLUGIN_H +#define CA_URL_HANDLER_PLUGIN_H + +#include +#include + +QTM_USE_NAMESPACE + +class CaUrlHandlerPlugin : public QObject, public QServicePluginInterface +{ + Q_OBJECT + Q_INTERFACES(QtMobility::QServicePluginInterface) + +public: + QObject *createInstance(const QServiceInterfaceDescriptor &descriptor, + QServiceContext *context, + QAbstractSecuritySession *session); +}; + +#endif diff -r 9d806967057c -r 7f0462e8c3da contentstorage/cahandler/url/resource/caurlhandlerplugin.s60xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/contentstorage/cahandler/url/resource/caurlhandlerplugin.s60xml Tue Mar 23 23:55:55 2010 +0200 @@ -0,0 +1,13 @@ + + + caurlhandlerplugin + z:/hsresources/plugins/commandhandler/caurlhandlerplugin.qtplugin + + + com.nokia.homescreen.ICommandHandler + 1.0 + + + url + + diff -r 9d806967057c -r 7f0462e8c3da contentstorage/cahandler/url/resource/caurlhandlerplugin.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/contentstorage/cahandler/url/resource/caurlhandlerplugin.xml Tue Mar 23 23:55:55 2010 +0200 @@ -0,0 +1,13 @@ + + + caurlhandlerplugin + caurlhandlerplugin + + + com.nokia.homescreen.ICommandHandler + 1.0 + + + url + + diff -r 9d806967057c -r 7f0462e8c3da contentstorage/cahandler/url/src/caurlhandler.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/contentstorage/cahandler/url/src/caurlhandler.cpp Tue Mar 23 23:55:55 2010 +0200 @@ -0,0 +1,144 @@ +/* + * Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). + * All rights reserved. + * This component and the accompanying materials are made available + * under the terms of "Eclipse Public License v1.0" + * which accompanies this distribution, and is available + * at the URL "http://www.eclipse.org/legal/epl-v10.html". + * + * Initial Contributors: + * Nokia Corporation - initial contribution. + * + * Contributors: + * + * Description: ?Description + * + */ + +#include +#include +#include +#include + +#include "caurlhandler.h" +#include "cadef.h" +#include "cainnerentry.h" + +// ================= MEMBER FUNCTIONS ======================= + +// -------------------------------------------------------------------------- +// CCaUrlHandler::~CCaUrlHandler +// -------------------------------------------------------------------------- +// +CCaUrlHandler::~CCaUrlHandler() + { + } + +// -------------------------------------------------------------------------- +// CCaUrlHandler::NewL +// -------------------------------------------------------------------------- +// +CCaUrlHandler* CCaUrlHandler::NewL() + { + CCaUrlHandler* handler = new ( ELeave ) CCaUrlHandler(); + CleanupStack::PushL( handler ); + handler->ConstructL(); + CleanupStack::Pop( handler ); + return handler; + } + +// -------------------------------------------------------------------------- +// CCaUrlHandler::CCaUrlHandler +// -------------------------------------------------------------------------- +// +CCaUrlHandler::CCaUrlHandler() + { + } + +// -------------------------------------------------------------------------- +// CCaUrlHandler::ConstructL +// -------------------------------------------------------------------------- +// +void CCaUrlHandler::ConstructL() + { + } + +// -------------------------------------------------------------------------- +// CCaUrlHandler::HandleCommandL +// -------------------------------------------------------------------------- +// +void CCaUrlHandler::HandleCommandL( CCaInnerEntry& aEntry, + const TDesC8& aCommand ) + { + + if( !aCommand.Compare( KCaCmdOpen() ) ) + { + const RCaEntryAttrArray& attributes = aEntry.GetAttributes(); + TInt attributesArrayCount = attributes.Count(); + for( int i = 0; i < attributesArrayCount; ++i ) + { + const CCaEntryAttribute * const attribute = attributes[i]; + if( attribute->Name().Compare( KCaAttrUrl ) == 0 ) + { + LaunchUrlL( attribute->Value() ); + break; + } + } + } + else + { + User::Leave( KErrNotSupported ); + } + } + +// -------------------------------------------------------------------------- +// CCaUrlHandler::LaunchUrlL +// -------------------------------------------------------------------------- +// + +void CCaUrlHandler::LaunchUrlL( const TDesC& aUrl ) + { + // Launches browser stand-alone. + // Browser is launched with a parameter 4 ("4 http://...."), which + // Start/Continue the browser specifying a URL. + // Other available parameters are described in the Browser API Specification + // Document. + TInt length = aUrl.Length() + KBrowserPrefix.iTypeLength; + + RWsSession wsSession; + User::LeaveIfError( wsSession.Connect() ); + CleanupClosePushL ( wsSession ); + + CAknTaskList* taskList = CAknTaskList::NewL( wsSession ); + TApaTask task = taskList->FindRootApp( KUidBrowser ); + delete taskList; + + if( task.Exists() ) + { + HBufC8* param8 = HBufC8::NewLC( length ); + TPtr8 ptr8 = param8->Des(); + ptr8.Append( KBrowserPrefix ); + ptr8.Append( aUrl ); + + // Sends message to existing Browser task. + task.SendMessage( TUid::Uid( 0 ), *param8 ); // Uid is not used + CleanupStack::PopAndDestroy( param8 ); + } + else + { + HBufC* buf = HBufC::NewLC( length ); + TPtr ptr = buf->Des(); + ptr.Append( KBrowserPrefix ); + ptr.Append( aUrl ); + + RApaLsSession appArcSession; + User::LeaveIfError( appArcSession.Connect() ); + CleanupClosePushL ( appArcSession ); + TThreadId id; + appArcSession.StartDocument( *buf, KUidBrowser, id ); + CleanupStack::PopAndDestroy( &appArcSession ); + CleanupStack::PopAndDestroy( buf ); + } + + CleanupStack::PopAndDestroy( &wsSession ); + } diff -r 9d806967057c -r 7f0462e8c3da contentstorage/cahandler/url/src/caurlhandlerplugin.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/contentstorage/cahandler/url/src/caurlhandlerplugin.cpp Tue Mar 23 23:55:55 2010 +0200 @@ -0,0 +1,56 @@ +/* + * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). + * All rights reserved. + * This component and the accompanying materials are made available + * under the terms of "Eclipse Public License v1.0" + * which accompanies this distribution, and is available + * at the URL "http://www.eclipse.org/legal/epl-v10.html". + * + * Initial Contributors: + * Nokia Corporation - initial contribution. + * + * Contributors: + * + * Description: + * + */ + +#include +#include +#include +#include +#include "cahandlerloader.h" + +#include "caurlhandlerplugin.h" +#include "cas60handleradapter.h" +#include "caurlhandler.h" + +/*! + \class CaUrlHandlerPlugin + \ingroup + \brief Implementation of Qt SF plugin for url command handler. +*/ + +/*! + \param descriptor Service descriptor. + \param context Ignored. + \param session Ignored. + \return An instance of the CaS60HandlerAdapter when descriptor interface name + is "com.nokia.homescreen.ICommandHandler", NULL otherwise. +*/ +QObject *CaUrlHandlerPlugin::createInstance(const QServiceInterfaceDescriptor &descriptor, + QServiceContext *context, + QAbstractSecuritySession *session) +{ + Q_UNUSED(context); + Q_UNUSED(session); + + if (descriptor.interfaceName() == + "com.nokia.homescreen.ICommandHandler") { + return new CaS60HandlerAdapter; + } else { + return 0; + } +} +// TODO: uncomment when it will be a plugin +//Q_EXPORT_PLUGIN2(caurlhandlerplugin, CaUrlHandlerPlugin) diff -r 9d806967057c -r 7f0462e8c3da contentstorage/cahandler/url/url.pri --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/contentstorage/cahandler/url/url.pri Tue Mar 23 23:55:55 2010 +0200 @@ -0,0 +1,13 @@ +# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +# All rights reserved. +# This component and the accompanying materials are made available +# under the terms of "Eclipse Public License v1.0" +# which accompanies this distribution, and is available +# at the URL "http://www.eclipse.org/legal/epl-v10.html". +# Initial Contributors: +# Nokia Corporation - initial contribution. +# Contributors: +# Description: + +HEADERS += ./inc/*.h ../inc/*.h +SOURCES += ./src/*.cpp diff -r 9d806967057c -r 7f0462e8c3da contentstorage/cahandler/url/url.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/contentstorage/cahandler/url/url.pro Tue Mar 23 23:55:55 2010 +0200 @@ -0,0 +1,55 @@ +# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +# All rights reserved. +# This component and the accompanying materials are made available +# under the terms of "Eclipse Public License v1.0" +# which accompanies this distribution, and is available +# at the URL "http://www.eclipse.org/legal/epl-v10.html". +# Initial Contributors: +# Nokia Corporation - initial contribution. +# Contributors: +# Description: + +TEMPLATE = lib +TARGET = caurlhandlerplugin +CONFIG += plugin hb mobility +MOBILITY = serviceframework + +PLUGIN_SUBDIR = /hsresources/plugins/commandhandler + +include(../../../common.pri) + + +DEPENDPATH += ./inc \ + ./src + +INCLUDEPATH += ./inc \ + ../../caclient/inc \ + ../../caclient/s60/inc \ + ../../inc \ + ../../cautils/inc\ + $$MW_LAYER_SYSTEMINCLUDE + +include(url.pri) + +symbian: { + TARGET.UID3 = 0x20022F85 + + LIBS += \ + -leuser \ + -lecom \ + -lswinstcli \ + -lcautils \ + -lcaclient \ + -lapgrfx \ + -lws32 \ + -lapparc \ + -lsisregistryclient \ + -leikcore \ + -lcone \ + -lefsrv \ + -lxqutils + + exists($${EPOCROOT}epoc32/include/mw/XQSettingsManager):LIBS += -lxqsettingsmanager +} + + diff -r 9d806967057c -r 7f0462e8c3da contentstorage/casrv/calocalizerscanner/src/calocalizerscannerproxy.cpp --- a/contentstorage/casrv/calocalizerscanner/src/calocalizerscannerproxy.cpp Tue Mar 23 23:42:03 2010 +0200 +++ b/contentstorage/casrv/calocalizerscanner/src/calocalizerscannerproxy.cpp Tue Mar 23 23:55:55 2010 +0200 @@ -175,6 +175,7 @@ locals[i]->SetLocalizedStringL( locals[i]->GetStringId() ); } iStorageProxy->LocalizeEntryL( *( locals[i] ) ); + delete[] temp; } CleanupStack::PopAndDestroy( &localizedName ); CleanupStack::PopAndDestroy( &locals ); diff -r 9d806967057c -r 7f0462e8c3da contentstorage/casrv/cawidgetscanner/src/cawidgetdescription.cpp --- a/contentstorage/casrv/cawidgetscanner/src/cawidgetdescription.cpp Tue Mar 23 23:42:03 2010 +0200 +++ b/contentstorage/casrv/cawidgetscanner/src/cawidgetdescription.cpp Tue Mar 23 23:55:55 2010 +0200 @@ -472,7 +472,8 @@ } if ( iIconUri != KNullDesC) { - entry->SetIconDataL(0, 0, 0, 0, iIconUri); + // aSkinId and AppId not used for widgets - KNullDesC + entry->SetIconDataL(iIconUri, KNullDesC, KNullDesC); } if( iModificationTime != KNullDesC ) diff -r 9d806967057c -r 7f0462e8c3da contentstorage/casrv/cawidgetscanner/src/cawidgetstoragehandler.cpp --- a/contentstorage/casrv/cawidgetscanner/src/cawidgetstoragehandler.cpp Tue Mar 23 23:42:03 2010 +0200 +++ b/contentstorage/casrv/cawidgetscanner/src/cawidgetstoragehandler.cpp Tue Mar 23 23:55:55 2010 +0200 @@ -272,7 +272,7 @@ { CCaInnerEntry* entry = aWidget->GetEntryLC(); entry->SetFlags( entry->GetFlags() | EMissing ); - if(aWidget->IsUsed()) + if( aWidget->IsUsed() ) { entry->SetFlags( entry->GetFlags() | EUsed ); } diff -r 9d806967057c -r 7f0462e8c3da contentstorage/castorage/data/castoragedb Binary file contentstorage/castorage/data/castoragedb has changed diff -r 9d806967057c -r 7f0462e8c3da contentstorage/castorage/data/castoragedb_create.sql --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/contentstorage/castorage/data/castoragedb_create.sql Tue Mar 23 23:55:55 2010 +0200 @@ -0,0 +1,224 @@ +DROP TABLE IF EXISTS CA_ENTRY; +DROP TABLE IF EXISTS CA_GROUP_ENTRY; +DROP TABLE IF EXISTS CA_ICON; +DROP TABLE IF EXISTS CA_LAUNCH; +DROP TABLE IF EXISTS CA_ATTRIBUTE; +DROP TABLE IF EXISTS CA_LOCALIZATION_TEXT; +DROP TABLE IF EXISTS CA_DB_PROPERTIES; + +SELECT "CREATE TABLE CA_ENTRY" AS " "; +SELECT "------------------------------------" AS " "; +CREATE TABLE CA_ENTRY( ENTRY_ID INTEGER PRIMARY KEY, + EN_TEXT TEXT NOT NULL COLLATE NOCASE, + EN_DESCRIPTION TEXT COLLATE NOCASE, + EN_ROLE INTEGER default 1, + EN_TYPE_NAME TEXT NOT NULL, + EN_ICON_ID INTEGER, + EN_CREATION_TIME BIGINT default -1 NOT NULL, + EN_UID INTEGER UNIQUE, + EN_FLAGS INTEGER default 8, + FOREIGN KEY(EN_ICON_ID) REFERENCES CA_ICON(ICON_ID) ); +CREATE INDEX EntryText_CAIndex ON CA_ENTRY(EN_TEXT); +CREATE INDEX EntryCreationTime_CAIndex ON CA_ENTRY(EN_CREATION_TIME); + +SELECT "CREATE TABLE CA_GROUP_ENTRY" AS " "; +SELECT "------------------------------------" AS " "; +CREATE TABLE CA_GROUP_ENTRY( GROUP_ENTRY_ID INTEGER PRIMARY KEY , + GE_GROUP_ID INTEGER NOT NULL, + GE_ENTRY_ID INTEGER NOT NULL, + GE_POSITION INTEGER, + UNIQUE( GE_GROUP_ID, GE_ENTRY_ID ), + FOREIGN KEY(GE_GROUP_ID) REFERENCES CA_ENTRY(ENTRY_ID), + FOREIGN KEY(GE_ENTRY_ID) REFERENCES CA_ENTRY(ENTRY_ID) ); +CREATE INDEX GroupGE_POSITION_CAIndex ON CA_GROUP_ENTRY(GE_POSITION); +CREATE TRIGGER update_position_in_ca_group_entry_after_remove AFTER DELETE ON CA_GROUP_ENTRY +BEGIN + UPDATE CA_GROUP_ENTRY SET GE_POSITION = GE_POSITION - 1 WHERE GE_POSITION > old.GE_POSITION AND GE_GROUP_ID = old.GE_GROUP_ID; +END; +CREATE TRIGGER update_position_in_ca_group_entry_before_insert BEFORE INSERT ON CA_GROUP_ENTRY +BEGIN + UPDATE CA_GROUP_ENTRY SET GE_POSITION = GE_POSITION + 1 WHERE GE_POSITION >= new.GE_POSITION AND GE_GROUP_ID = new.GE_GROUP_ID; +END; + +SELECT "CREATE TABLE CA_ICON" AS " "; +SELECT "------------------------------------" AS " "; +CREATE TABLE CA_ICON( ICON_ID INTEGER PRIMARY KEY , + IC_FILENAME TEXT, + IC_SKIN_ID TEXT, + IC_APP_ID TEXT, + UNIQUE( IC_FILENAME, IC_SKIN_ID, IC_APP_ID ) ); + +SELECT "CREATE TABLE CA_LAUNCH" AS " "; +SELECT "------------------------------------" AS " "; +CREATE TABLE CA_LAUNCH( LAUNCH_ID INTEGER PRIMARY KEY , + LA_ENTRY_ID INTEGER NOT NULL, + LA_LAUNCH_TIME INTEGER NOT NULL, + FOREIGN KEY(LA_ENTRY_ID) REFERENCES CA_ENTRY(ENTRY_ID) ); +CREATE INDEX LaunchLaunchTime_CAIndex ON CA_LAUNCH(LA_LAUNCH_TIME); + +SELECT "CREATE TABLE CA_ATTRIBUTE" AS " "; +SELECT "------------------------------------" AS " "; +CREATE TABLE CA_ATTRIBUTE( ATTRIBUTE_ID INTEGER PRIMARY KEY , + AT_ENTRY_ID INTEGER NOT NULL, + AT_NAME TEXT NOT NULL, + AT_VALUE TEXT NOT NULL, + UNIQUE( AT_ENTRY_ID, AT_NAME ), + FOREIGN KEY(AT_ENTRY_ID) REFERENCES CA_ENTRY(ENTRY_ID) ); + +SELECT "CREATE TABLE CA_LOCALIZATION_TEXT" AS " "; +SELECT "------------------------------------" AS " "; +CREATE TABLE CA_LOCALIZATION_TEXT( LOC_TEXT_ID INTEGER PRIMARY KEY , + LT_TABLE_NAME TEXT , + LT_ATTRIBUTE_NAME TEXT , + LT_STRING_ID TEXT , + LT_ROW_ID INTEGER ); + +SELECT "CREATE TABLE CA_DB_PROPERTIES" AS " "; +SELECT "------------------------------------" AS " "; +CREATE TABLE CA_DB_PROPERTIES( DB_PROPERTIES_ID INTEGER PRIMARY KEY , + DB_PROPERTY TEXT UNIQUE, + DB_VALUE TEXT ); + + + +-- CREATE VIEW COLLECTION +SELECT "------------------------------------" AS " "; +SELECT "CREATE VIEW COLLECTION" AS " "; +DROP VIEW IF EXISTS COLLECTION; +CREATE VIEW COLLECTION + AS SELECT + "" AS "COLLECTION_NAME", + "" AS "COL_LOCNAME", + "" AS "ICON"; + +SELECT " CREATE TRIGGER collection_insert" AS " "; +CREATE TRIGGER collection_insert INSTEAD OF INSERT ON COLLECTION +BEGIN + -- INSERT ICON + INSERT INTO CA_ICON (IC_FILENAME) + VALUES ( new.ICON); + -- DELETE IF ICON IS NULL OR IF IT IS DUPLICATE + DELETE FROM CA_ICON WHERE ICON_ID = last_insert_rowid() AND + (IC_FILENAME IS NULL OR (SELECT ICON_ID FROM CA_ICON WHERE IC_FILENAME = new.ICON AND ICON_ID <> last_insert_rowid()) IS NOT NULL); + -- INSERT ENTRY + INSERT INTO CA_ENTRY (EN_TEXT, EN_ROLE, EN_TYPE_NAME, EN_FLAGS, EN_ICON_ID ) + VALUES ( new.COLLECTION_NAME , 2, "collection", 12, (SELECT ICON_ID FROM CA_ICON WHERE IC_FILENAME = new.ICON )); + -- LOCALIZATION + INSERT INTO CA_LOCALIZATION_TEXT ( LT_TABLE_NAME, LT_ATTRIBUTE_NAME, LT_STRING_ID, LT_ROW_ID ) + VALUES ( 'CA_ENTRY', 'EN_TEXT', new.COL_LOCNAME, ( SELECT last_insert_rowid() ) ); + DELETE FROM CA_LOCALIZATION_TEXT WHERE LT_STRING_ID IS NULL AND LOC_TEXT_ID = last_insert_rowid() ; + -- RELATION TO MAIN COLLECTION (ADD TO GROUP: ) + INSERT INTO CA_GROUP_ENTRY (GE_GROUP_ID, GE_ENTRY_ID, GE_POSITION) + VALUES ( (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TYPE_NAME = "menucollections") , + (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = new.COLLECTION_NAME), + (SELECT IFNULL(MAX(GE_POSITION)+1, 1) FROM CA_GROUP_ENTRY WHERE GE_GROUP_ID = (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TYPE_NAME = "menucollections")) ); +END; + +-- CREATE VIEW ITEM_TO_COLLECTION +SELECT "------------------------------------" AS " "; +SELECT "CREATE VIEW ITEM_TO_COLLECTION" AS " "; +DROP VIEW IF EXISTS ITEM_TO_COLLECTION; +CREATE VIEW ITEM_TO_COLLECTION + AS SELECT + "" AS "ITEM_TYPE", + "" AS "ITEM_NAME", + "" AS "ICON", + "" AS "ITEM_DEST", + "" AS "COLLECTION_NAME"; + +SELECT " CREATE TRIGGER item_to_collection_insert_app" AS " "; +CREATE TRIGGER item_to_collection_insert_app INSTEAD OF INSERT ON ITEM_TO_COLLECTION WHEN new.ITEM_TYPE="application" +BEGIN + -- INSERT ENTRY + INSERT OR IGNORE INTO CA_ENTRY (EN_TEXT, EN_ROLE, EN_TYPE_NAME, EN_UID ) + VALUES ( new.ITEM_NAME, 1, "application", new.ITEM_DEST ); + -- RELATION TO MAIN COLLECTION (ADD TO GROUP: ) + INSERT INTO CA_GROUP_ENTRY (GE_GROUP_ID, GE_ENTRY_ID, GE_POSITION) + VALUES ( (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = new.COLLECTION_NAME) , + (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = new.ITEM_NAME), + (SELECT IFNULL(MAX(GE_POSITION)+1, 1) FROM CA_GROUP_ENTRY WHERE GE_GROUP_ID = (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = new.COLLECTION_NAME)) ); +END; + +SELECT " CREATE TRIGGER item_to_collection_insert_url" AS " "; +CREATE TRIGGER item_to_collection_insert_url INSTEAD OF INSERT ON ITEM_TO_COLLECTION WHEN new.ITEM_TYPE="url" +BEGIN + -- INSERT ICON + INSERT OR IGNORE INTO CA_ICON (IC_FILENAME) + VALUES ( new.ICON); + DELETE FROM CA_ICON WHERE ICON_ID = last_insert_rowid() AND + (IC_FILENAME IS NULL OR (SELECT ICON_ID FROM CA_ICON WHERE IC_FILENAME = new.ICON AND ICON_ID <> last_insert_rowid()) IS NOT NULL); + -- INSERT ENTRY + INSERT OR IGNORE INTO CA_ENTRY (EN_TEXT, EN_ROLE, EN_TYPE_NAME, EN_ICON_ID ) + VALUES ( new.ITEM_NAME, 1, "url", (SELECT ICON_ID FROM CA_ICON WHERE IC_FILENAME = new.ICON )); + INSERT OR IGNORE INTO CA_ATTRIBUTE (AT_ENTRY_ID, AT_NAME, AT_VALUE ) + VALUES ( ( SELECT last_insert_rowid() ) ,"url",new.ITEM_DEST); + -- RELATION TO MAIN COLLECTION (ADD TO GROUP: ) + INSERT INTO CA_GROUP_ENTRY (GE_GROUP_ID, GE_ENTRY_ID, GE_POSITION) + VALUES ( (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = new.COLLECTION_NAME) , + (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = new.ITEM_NAME), + (SELECT IFNULL(MAX(GE_POSITION)+1, 1) FROM CA_GROUP_ENTRY WHERE GE_GROUP_ID = (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = new.COLLECTION_NAME)) ); +END; + + +-- CREATE VIEW WIDGET _TO_COLLECTION +SELECT "------------------------------------" AS " "; +SELECT "CREATE VIEW WIDGET_TO_COLLECTION" AS " "; +DROP VIEW IF EXISTS WIDGET_TO_COLLECTION; +CREATE VIEW WIDGET_TO_COLLECTION + AS SELECT + "" AS "ITEM_TYPE", + "" AS "ITEM_NAME", + "" AS "ICON", + "" AS "PACKAGE_UID", + "" AS "LIBRARY", + "" AS "LONG_NAME", + "" AS "URI", + "" AS "COLLECTION_NAME" ; + +SELECT " CREATE TRIGGER insert_widget_to_collection" AS " "; +CREATE TRIGGER item_to_collection_insert_widget INSTEAD OF INSERT ON WIDGET_TO_COLLECTION WHEN new.ITEM_TYPE="widget" +BEGIN + -- INSERT ICON + INSERT OR IGNORE INTO CA_ICON (IC_FILENAME) + VALUES ( new.ICON); + DELETE FROM CA_ICON WHERE ICON_ID = last_insert_rowid() AND + (IC_FILENAME IS NULL OR (SELECT ICON_ID FROM CA_ICON WHERE IC_FILENAME = new.ICON AND ICON_ID <> last_insert_rowid()) IS NOT NULL); + -- INSERT ENTRY + INSERT OR IGNORE INTO CA_ENTRY (EN_TEXT, EN_ROLE, EN_TYPE_NAME, EN_ICON_ID ) + VALUES ( new.ITEM_NAME, 1, "widget", (SELECT ICON_ID FROM CA_ICON WHERE IC_FILENAME = new.ICON )); + -- INSERT ATTRIBUTES + INSERT OR IGNORE INTO CA_ATTRIBUTE (AT_ENTRY_ID, AT_NAME, AT_VALUE ) + VALUES ( ( SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = new.ITEM_NAME ) ,"packageuid",new.PACKAGE_UID); + INSERT OR IGNORE INTO CA_ATTRIBUTE (AT_ENTRY_ID, AT_NAME, AT_VALUE ) + VALUES ( ( SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = new.ITEM_NAME ) ,"widget:library",new.LIBRARY); + INSERT OR IGNORE INTO CA_ATTRIBUTE (AT_ENTRY_ID, AT_NAME, AT_VALUE ) + VALUES ( ( SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = new.ITEM_NAME ) ,"long_name",new.LONG_NAME); + INSERT OR IGNORE INTO CA_ATTRIBUTE (AT_ENTRY_ID, AT_NAME, AT_VALUE ) + VALUES ( ( SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = new.ITEM_NAME ) ,"widget:uri",new.URI); + -- RELATION TO MAIN COLLECTION (ADD TO GROUP: ) + INSERT INTO CA_GROUP_ENTRY (GE_GROUP_ID, GE_ENTRY_ID, GE_POSITION) + VALUES ( (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = new.COLLECTION_NAME) , + (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = new.ITEM_NAME), + (SELECT IFNULL(MAX(GE_POSITION)+1, 1) FROM CA_GROUP_ENTRY WHERE GE_GROUP_ID = (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = new.COLLECTION_NAME)) ); +END; + + + + +SELECT "INSERT INITIAL DATA TO CA_DB_PROPERTIES" AS " "; + +SELECT "------------------------------------" AS " "; +INSERT INTO CA_DB_PROPERTIES ( DB_PROPERTY, DB_VALUE ) +VALUES ( 'Version', '00001' ); +INSERT INTO CA_DB_PROPERTIES ( DB_PROPERTY, DB_VALUE ) +VALUES ( 'Language', 'en_GB' ); +INSERT INTO CA_DB_PROPERTIES ( DB_PROPERTY, DB_VALUE ) +VALUES ( 'QMfile', 'db_textmap_' ); + + + + +SELECT "------------------------------------" AS " "; +SELECT "castoragedb_create - END" AS " "; +SELECT "------------------------------------" AS " "; + diff -r 9d806967057c -r 7f0462e8c3da contentstorage/castorage/data/castoragedb_variant.bat --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/contentstorage/castorage/data/castoragedb_variant.bat Tue Mar 23 23:55:55 2010 +0200 @@ -0,0 +1,5 @@ +@echo off +del castoragedb +sqlite3 castoragedb ".read castoragedb_create.sql" +sqlite3 castoragedb ".genfkey --exec" +sqlite3 castoragedb ".read castoragedb_variant.sql" diff -r 9d806967057c -r 7f0462e8c3da contentstorage/castorage/data/castoragedb_variant.sql --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/contentstorage/castorage/data/castoragedb_variant.sql Tue Mar 23 23:55:55 2010 +0200 @@ -0,0 +1,63 @@ +SELECT "------------------------------------" AS " "; +SELECT "castoragedb_variant - BEGIN" AS " "; + +-- insert neccessary items +SELECT "INSERT GROUPS" AS " "; +SELECT "." AS " "; +INSERT INTO CA_ENTRY (EN_TEXT, EN_ROLE, EN_TYPE_NAME, EN_ICON_ID, EN_UID ) +VALUES ( 'Menu', 2, "folder", NULL , NULL ); + +SELECT "INSERT menucollections ENTRY" AS " "; +INSERT INTO CA_ENTRY (EN_TEXT, EN_ROLE, EN_TYPE_NAME, EN_ICON_ID, EN_UID ) +VALUES ( 'AllCollections', 2, "menucollections", NULL , NULL ); + +INSERT INTO CA_ENTRY (EN_TEXT, EN_ROLE, EN_TYPE_NAME, EN_ICON_ID, EN_UID, EN_FLAGS ) +VALUES ( 'Application Library', 2, "applicationlibrary", NULL, NULL, 8 ); + +SELECT "------------------------------------" AS " "; +SELECT "INSERT Downloaded collection ENTRY" AS " "; +INSERT INTO CA_ICON (IC_FILENAME) +VALUES ( "qtg_large_applications_download"); +INSERT INTO CA_ENTRY (EN_TEXT, EN_ROLE, EN_TYPE_NAME, EN_ICON_ID, EN_FLAGS ) +VALUES ( 'Downloaded', 2, "collection::downloaded", last_insert_rowid() , 8 ); +INSERT INTO CA_LOCALIZATION_TEXT ( LT_TABLE_NAME, LT_ATTRIBUTE_NAME, LT_STRING_ID, LT_ROW_ID ) +VALUES ( 'CA_ENTRY', 'EN_TEXT', "txt_applib_dblist_downloaded", ( SELECT last_insert_rowid() ) ); +INSERT INTO CA_GROUP_ENTRY (GE_GROUP_ID, GE_ENTRY_ID, GE_POSITION) +VALUES ( (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TYPE_NAME = "menucollections") , + (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TYPE_NAME = "collection::downloaded"), + 1 ); + +-- insert additional items + +INSERT INTO COLLECTION (COLLECTION_NAME, COL_LOCNAME, ICON) VALUES ( 'Office', "txt_applib_dblist_office", "qtg_large_applications_user"); + INSERT INTO ITEM_TO_COLLECTION (ITEM_TYPE,ITEM_NAME,ITEM_DEST, COLLECTION_NAME) + VALUES ("application", 'calendar', 268458241, 'Office' ); + INSERT INTO ITEM_TO_COLLECTION (ITEM_TYPE,ITEM_NAME,ITEM_DEST, COLLECTION_NAME) + VALUES ("application", 'Phonebook', 537014009, 'Office' ); + +INSERT INTO COLLECTION (COLLECTION_NAME, ICON) VALUES ( 'Multimedia', "qtg_large_applications_user" ); + INSERT INTO ITEM_TO_COLLECTION (ITEM_TYPE,ITEM_NAME,ITEM_DEST, COLLECTION_NAME) + VALUES ("application", 'Themes', 268458546, 'Multimedia' ); + INSERT INTO ITEM_TO_COLLECTION (ITEM_TYPE,ITEM_NAME,ITEM_DEST, COLLECTION_NAME) + VALUES ("application", 'Paint Cursor', 537001564, 'Multimedia' ); + INSERT INTO ITEM_TO_COLLECTION (ITEM_TYPE,ITEM_NAME,ITEM_DEST, COLLECTION_NAME) + VALUES ("application", 'Videoplayer', 537006590, 'Multimedia' ); + +INSERT INTO COLLECTION (COLLECTION_NAME, ICON) VALUES ( 'Utils', "qtg_large_applications_user" ); + INSERT INTO ITEM_TO_COLLECTION (ITEM_TYPE,ITEM_NAME,ITEM_DEST, COLLECTION_NAME) + VALUES ("application", 'ControlPanel', 537026521, 'Utils' ); + INSERT INTO ITEM_TO_COLLECTION (ITEM_TYPE,ITEM_NAME,ITEM_DEST, COLLECTION_NAME) + VALUES ("application", 'Bluetooth', 268458321, 'Utils' ); + INSERT INTO ITEM_TO_COLLECTION (ITEM_TYPE,ITEM_NAME,ITEM_DEST, COLLECTION_NAME) + VALUES ("application", 'SW update', 537001519, 'Utils' ); + INSERT INTO ITEM_TO_COLLECTION (ITEM_TYPE,ITEM_NAME,ITEM_DEST, COLLECTION_NAME) + VALUES ("application", 'eshell', 270498535, 'Utils' ); + INSERT INTO ITEM_TO_COLLECTION (ITEM_TYPE,ITEM_NAME,ITEM_DEST, COLLECTION_NAME) + VALUES ("application", 'Conn. mgr.', 270501072, 'Utils' ); + + +INSERT INTO COLLECTION (COLLECTION_NAME, COL_LOCNAME, ICON) VALUES ( 'Games', "txt_applib_dblist_games", "qtg_large_applications_user" ); + +SELECT "castoragedb_variant - END" AS " "; +SELECT "------------------------------------" AS " "; + diff -r 9d806967057c -r 7f0462e8c3da contentstorage/castorage/data/castoragedb_variant_test.bat --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/contentstorage/castorage/data/castoragedb_variant_test.bat Tue Mar 23 23:55:55 2010 +0200 @@ -0,0 +1,5 @@ +@echo off +del castoragedb +sqlite3 castoragedb ".read castoragedb_create.sql" +sqlite3 castoragedb ".genfkey --exec" +sqlite3 castoragedb ".read castoragedb_variant_test.sql" diff -r 9d806967057c -r 7f0462e8c3da contentstorage/castorage/data/castoragedb_variant_test.sql --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/contentstorage/castorage/data/castoragedb_variant_test.sql Tue Mar 23 23:55:55 2010 +0200 @@ -0,0 +1,22 @@ +-- ONLY IF YOU SURE THAT WANT DEFAULT CONTENT +.read castoragedb_variant.sql + +SELECT "castoragedb_variant test - BEGIN" AS " "; + + +-- insert collection +INSERT INTO COLLECTION (COLLECTION_NAME, ICON) VALUES ( 'Favorites', "qtg_large_applications_user" ); + +-- insert example urls + INSERT INTO ITEM_TO_COLLECTION (ITEM_TYPE,ITEM_NAME,ICON,ITEM_DEST, COLLECTION_NAME) + VALUES ("url", 'Facebook', 'c:\data\Images\kqticaicons\facebook.png', "http://www.facebook.com/", 'Favorites' ); + INSERT INTO ITEM_TO_COLLECTION (ITEM_TYPE,ITEM_NAME,ICON,ITEM_DEST, COLLECTION_NAME) + VALUES ("url", 'Google', 'c:\data\Images\kqticaicons\google.png', "http://www.google.com/", 'Favorites' ); + +-- insert example widgets + INSERT INTO WIDGET_TO_COLLECTION (ITEM_TYPE,ITEM_NAME,ICON, PACKAGE_UID, LIBRARY, LONG_NAME, URI, COLLECTION_NAME) + VALUES ("widget", 'aClock', 'Z:\private\20022F35\import\widgetregistry\20022F6C\tclock.png', '20022f43', 'Z:\private\20022F35\import\widgetregistry\20022F43\hsclockwidgetprovider.dll', 'Clock', 'homescreen.nokia.com/widget/clock', 'Office' ); + + + +SELECT "castoragedb_variant test - END" AS " "; \ No newline at end of file diff -r 9d806967057c -r 7f0462e8c3da contentstorage/castorage/data/create_castoragedb.sql --- a/contentstorage/castorage/data/create_castoragedb.sql Tue Mar 23 23:42:03 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,80 +0,0 @@ -DROP TABLE IF EXISTS CA_ENTRY; -DROP TABLE IF EXISTS CA_GROUP_ENTRY; -DROP TABLE IF EXISTS CA_ICON; -DROP TABLE IF EXISTS CA_LAUNCH; -DROP TABLE IF EXISTS CA_ATTRIBUTE; - -SELECT "CREATE TABLE CA_ENTRY" AS " "; -SELECT "------------------------------------" AS " "; -CREATE TABLE CA_ENTRY( ENTRY_ID INTEGER PRIMARY KEY, - EN_TEXT TEXT NOT NULL COLLATE NOCASE, - EN_DESCRIPTION TEXT COLLATE NOCASE, - EN_ROLE INTEGER default 1, - EN_TYPE_NAME TEXT NOT NULL, - EN_ICON_ID INTEGER, - EN_CREATION_TIME BIGINT default -1 NOT NULL, - EN_UID INTEGER UNIQUE, - EN_FLAGS INTEGER default 8, - FOREIGN KEY(EN_ICON_ID) REFERENCES CA_ICON(ICON_ID) ); -CREATE INDEX EntryText_CAIndex ON CA_ENTRY(EN_TEXT); -CREATE INDEX EntryCreationTime_CAIndex ON CA_ENTRY(EN_CREATION_TIME); - -SELECT "CREATE TABLE CA_GROUP_ENTRY" AS " "; -SELECT "------------------------------------" AS " "; -CREATE TABLE CA_GROUP_ENTRY( GROUP_ENTRY_ID INTEGER PRIMARY KEY , - GE_GROUP_ID INTEGER NOT NULL, - GE_ENTRY_ID INTEGER NOT NULL, - GE_POSITION INTEGER, - UNIQUE( GE_GROUP_ID, GE_ENTRY_ID ), - FOREIGN KEY(GE_GROUP_ID) REFERENCES CA_ENTRY(ENTRY_ID), - FOREIGN KEY(GE_ENTRY_ID) REFERENCES CA_ENTRY(ENTRY_ID) ); -CREATE INDEX GroupGE_POSITION_CAIndex ON CA_GROUP_ENTRY(GE_POSITION); -CREATE TRIGGER update_position_in_ca_group_entry_after_remove AFTER DELETE ON CA_GROUP_ENTRY -BEGIN - UPDATE CA_GROUP_ENTRY SET GE_POSITION = GE_POSITION - 1 WHERE GE_POSITION > old.GE_POSITION AND GE_GROUP_ID = old.GE_GROUP_ID; -END; -CREATE TRIGGER update_position_in_ca_group_entry_before_insert BEFORE INSERT ON CA_GROUP_ENTRY -BEGIN - UPDATE CA_GROUP_ENTRY SET GE_POSITION = GE_POSITION + 1 WHERE GE_POSITION >= new.GE_POSITION AND GE_GROUP_ID = new.GE_GROUP_ID; -END; - -SELECT "CREATE TABLE CA_ICON" AS " "; -SELECT "------------------------------------" AS " "; -CREATE TABLE CA_ICON( ICON_ID INTEGER PRIMARY KEY , - IC_FILENAME TEXT, - IC_BITMAP_ID INTEGER, - IC_MASK_ID INTEGER, - IC_SKINMAJOR_ID INTEGER, - IC_SKINMINOR_ID INTEGER, - UNIQUE( IC_FILENAME, IC_BITMAP_ID, IC_MASK_ID, IC_SKINMAJOR_ID, IC_SKINMINOR_ID) ); - -SELECT "CREATE TABLE CA_LAUNCH" AS " "; -SELECT "------------------------------------" AS " "; -CREATE TABLE CA_LAUNCH( LAUNCH_ID INTEGER PRIMARY KEY , - LA_ENTRY_ID INTEGER NOT NULL, - LA_LAUNCH_TIME INTEGER NOT NULL, - FOREIGN KEY(LA_ENTRY_ID) REFERENCES CA_ENTRY(ENTRY_ID) ); -CREATE INDEX LaunchLaunchTime_CAIndex ON CA_LAUNCH(LA_LAUNCH_TIME); - -SELECT "CREATE TABLE CA_ATTRIBUTE" AS " "; -SELECT "------------------------------------" AS " "; -CREATE TABLE CA_ATTRIBUTE( ATTRIBUTE_ID INTEGER PRIMARY KEY , - AT_ENTRY_ID INTEGER NOT NULL, - AT_NAME TEXT NOT NULL, - AT_VALUE TEXT NOT NULL, - UNIQUE( AT_ENTRY_ID, AT_NAME ), - FOREIGN KEY(AT_ENTRY_ID) REFERENCES CA_ENTRY(ENTRY_ID) ); - -SELECT "CREATE TABLE CA_LOCALIZATION_TEXT" AS " "; -SELECT "------------------------------------" AS " "; -CREATE TABLE CA_LOCALIZATION_TEXT( LOC_TEXT_ID INTEGER PRIMARY KEY , - LT_TABLE_NAME TEXT , - LT_ATTRIBUTE_NAME TEXT , - LT_STRING_ID TEXT , - LT_ROW_ID INTEGER ); - -SELECT "CREATE TABLE CA_DB_PROPERTIES" AS " "; -SELECT "------------------------------------" AS " "; -CREATE TABLE CA_DB_PROPERTIES( DB_PROPERTIES_ID INTEGER PRIMARY KEY , - DB_PROPERTY TEXT UNIQUE, - DB_VALUE TEXT ); diff -r 9d806967057c -r 7f0462e8c3da contentstorage/castorage/data/fill_castoragedb.sql --- a/contentstorage/castorage/data/fill_castoragedb.sql Tue Mar 23 23:42:03 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,380 +0,0 @@ -SELECT "INSERT GROUPS" AS " "; -SELECT "." AS " "; -INSERT INTO CA_ENTRY (EN_TEXT, EN_ROLE, EN_TYPE_NAME, EN_ICON_ID, EN_UID ) -VALUES ( 'Menu', 2, "folder", NULL , NULL ); - - -SELECT "." AS " "; -INSERT INTO CA_ENTRY (EN_TEXT, EN_ROLE, EN_TYPE_NAME, EN_ICON_ID, EN_UID ) -VALUES ( 'AllCollections', 2, "menucollections", NULL , NULL ); - - -SELECT "." AS " "; -INSERT INTO CA_ICON (IC_FILENAME, IC_BITMAP_ID, IC_MASK_ID, IC_SKINMAJOR_ID, IC_SKINMINOR_ID) -VALUES ( 'z:\resource\apps\matrixmenudata.mif', 16392, 16393, 8564, 270501603 ); -INSERT INTO CA_ENTRY (EN_TEXT, EN_ROLE, EN_TYPE_NAME, EN_ICON_ID, EN_UID, EN_FLAGS ) -VALUES ( 'Application Library', 2, "applicationlibrary", ( SELECT last_insert_rowid() ), NULL, 8 ); - - -SELECT "." AS " "; -INSERT INTO CA_ENTRY (EN_TEXT, EN_ROLE, EN_TYPE_NAME, EN_ICON_ID, EN_UID, EN_FLAGS ) -VALUES ( 'Downloaded', 2, "collection::downloaded", NULL , NULL, 8 ); - -SELECT "." AS " "; -INSERT INTO CA_LOCALIZATION_TEXT ( LT_TABLE_NAME, LT_ATTRIBUTE_NAME, LT_STRING_ID, LT_ROW_ID ) -VALUES ( 'CA_ENTRY', 'EN_TEXT', "txt_applib_dblist_downloaded", ( SELECT last_insert_rowid() ) ); - - -SELECT "." AS " "; -INSERT INTO CA_ENTRY (EN_TEXT, EN_ROLE, EN_TYPE_NAME, EN_ICON_ID, EN_UID, EN_FLAGS ) -VALUES ( 'Office', 2, "collection", NULL , NULL, 12 ); - -SELECT "." AS " "; -INSERT INTO CA_LOCALIZATION_TEXT ( LT_TABLE_NAME, LT_ATTRIBUTE_NAME, LT_STRING_ID, LT_ROW_ID ) -VALUES ( 'CA_ENTRY', 'EN_TEXT', "txt_applib_dblist_office", ( SELECT last_insert_rowid() ) ); - - -SELECT "." AS " "; -INSERT INTO CA_ENTRY (EN_TEXT, EN_ROLE, EN_TYPE_NAME, EN_UID, EN_ICON_ID ) -VALUES ( 'File mgr.', 1, "application", 270501099 , NULL ); - -SELECT "." AS " "; -INSERT INTO CA_ENTRY (EN_TEXT, EN_ROLE, EN_TYPE_NAME, EN_UID, EN_ICON_ID ) -VALUES ( 'QuickOffice', 1, "application", 536871616 , NULL ); - -SELECT "." AS " "; -INSERT INTO CA_ENTRY (EN_TEXT, EN_ROLE, EN_TYPE_NAME, EN_UID, EN_ICON_ID ) -VALUES ( 'Zip', 1, "application", 536871485 , NULL ); - -SELECT "." AS " "; -INSERT INTO CA_ENTRY (EN_TEXT, EN_ROLE, EN_TYPE_NAME, EN_UID, EN_ICON_ID ) -VALUES ( 'Adobe PDF', 1, "application", 536923435 , NULL ); - -SELECT "." AS " "; -INSERT INTO CA_ENTRY (EN_TEXT, EN_ROLE, EN_TYPE_NAME, EN_UID, EN_ICON_ID ) -VALUES ( 'Active notes', 1, "application", 271063601 , NULL ); - -SELECT "." AS " "; -INSERT INTO CA_ENTRY (EN_TEXT, EN_ROLE, EN_TYPE_NAME, EN_UID, EN_ICON_ID ) -VALUES ( 'Dictionary', 1, "application", 536959440 , NULL ); - -SELECT "." AS " "; -INSERT INTO CA_ENTRY (EN_TEXT, EN_ROLE, EN_TYPE_NAME, EN_UID, EN_ICON_ID ) -VALUES ( 'Calculator', 1, "application", 268458242 , NULL ); - -SELECT "." AS " "; -INSERT INTO CA_ENTRY (EN_TEXT, EN_ROLE, EN_TYPE_NAME, EN_UID, EN_ICON_ID ) -VALUES ( 'Converter', 1, "application", 270485096 , NULL ); - -SELECT "." AS " "; -INSERT INTO CA_ENTRY (EN_TEXT, EN_ROLE, EN_TYPE_NAME, EN_ICON_ID, EN_UID, EN_FLAGS ) -VALUES ( 'Multimedia', 2, "collection", NULL , NULL, 12 ); - -SELECT "." AS " "; -INSERT INTO CA_ENTRY (EN_TEXT, EN_ROLE, EN_TYPE_NAME, EN_UID, EN_ICON_ID ) -VALUES ( 'Music Player', 1, "application", 270561987 , NULL ); - -SELECT "." AS " "; -INSERT INTO CA_ENTRY (EN_TEXT, EN_ROLE, EN_TYPE_NAME, EN_UID, EN_ICON_ID ) -VALUES ( 'Photos', 1, "application", 536937700 , NULL ); - -SELECT "." AS " "; -INSERT INTO CA_ENTRY (EN_TEXT, EN_ROLE, EN_TYPE_NAME, EN_UID, EN_ICON_ID ) -VALUES ( 'Radio', 1, "application", 270563977 , NULL ); - -SELECT "." AS " "; -INSERT INTO CA_ENTRY (EN_TEXT, EN_ROLE, EN_TYPE_NAME, EN_UID, EN_ICON_ID ) -VALUES ( 'Recorder', 1, "application", 268458186 , NULL ); - -SELECT "." AS " "; -INSERT INTO CA_ENTRY (EN_TEXT, EN_ROLE, EN_TYPE_NAME, EN_UID, EN_ICON_ID ) -VALUES ( 'Ovi Music', 1, "application", 270531409 , NULL ); - -SELECT "." AS " "; -INSERT INTO CA_ENTRY (EN_TEXT, EN_ROLE, EN_TYPE_NAME, EN_UID, EN_ICON_ID ) -VALUES ( 'RealPlayer', 1, "application", 268458558 , NULL ); - -SELECT "." AS " "; -INSERT INTO CA_ENTRY (EN_TEXT, EN_ROLE, EN_TYPE_NAME, EN_UID, EN_ICON_ID ) -VALUES ( 'Videos & TV', 1, "application", 537006586 , NULL ); - -SELECT "." AS " "; -INSERT INTO CA_ENTRY (EN_TEXT, EN_ROLE, EN_TYPE_NAME, EN_UID, EN_ICON_ID ) -VALUES ( 'Podcasting', 1, "application", 271063307 , NULL ); - - -SELECT "." AS " "; -INSERT INTO CA_ENTRY (EN_TEXT, EN_ROLE, EN_TYPE_NAME, EN_ICON_ID, EN_UID, EN_FLAGS ) -VALUES ( 'Utils', 2, "collection", NULL , NULL, 12 ); - - -SELECT "INSERT ITEMS" AS " "; -SELECT "." AS " "; -INSERT INTO CA_ENTRY (EN_TEXT, EN_ROLE, EN_TYPE_NAME, EN_UID, EN_ICON_ID ) -VALUES ( 'SW update', 1, "application", 537001519 , NULL ); - -SELECT "." AS " "; -INSERT INTO CA_ENTRY (EN_TEXT, EN_ROLE, EN_TYPE_NAME, EN_UID, EN_ICON_ID ) -VALUES ( 'Device updates', 1, "application", 270495205 , NULL ); - -SELECT "." AS " "; -INSERT INTO CA_ENTRY (EN_TEXT, EN_ROLE, EN_TYPE_NAME, EN_UID, EN_ICON_ID ) -VALUES ( 'eshell', 1, "application", 270498535 , NULL ); - -SELECT "." AS " "; -INSERT INTO CA_ENTRY (EN_TEXT, EN_ROLE, EN_TYPE_NAME, EN_UID, EN_ICON_ID ) -VALUES ( 'Phone setup', 1, "application", 536945316 , NULL ); - -SELECT "." AS " "; -INSERT INTO CA_ENTRY (EN_TEXT, EN_ROLE, EN_TYPE_NAME, EN_UID, EN_ICON_ID ) -VALUES ( 'Settings', 1, "application", 268458220 , NULL ); - -SELECT "BIND ITEMS TO GROUP Office (CREATE LINKS)" AS " "; -SELECT "." AS " "; -INSERT INTO CA_GROUP_ENTRY (GE_GROUP_ID, GE_ENTRY_ID, GE_POSITION) -VALUES ( (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Office') , - (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Dictionary'), - 1 ); - -SELECT "." AS " "; -INSERT INTO CA_GROUP_ENTRY (GE_GROUP_ID, GE_ENTRY_ID, GE_POSITION) -VALUES ( (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Office') , - (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Quickoffice'), - (SELECT MAX(GE_POSITION) + 1 FROM CA_GROUP_ENTRY WHERE GE_GROUP_ID = (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Office')) ); - -SELECT "." AS " "; -INSERT INTO CA_GROUP_ENTRY (GE_GROUP_ID, GE_ENTRY_ID, GE_POSITION) -VALUES ( (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Office') , - (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Converter'), - (SELECT MAX(GE_POSITION) + 1 FROM CA_GROUP_ENTRY WHERE GE_GROUP_ID = (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Office')) ); - -SELECT "." AS " "; -INSERT INTO CA_GROUP_ENTRY (GE_GROUP_ID, GE_ENTRY_ID, GE_POSITION) -VALUES ( (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Office') , - (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Zip'), - (SELECT MAX(GE_POSITION) + 1 FROM CA_GROUP_ENTRY WHERE GE_GROUP_ID = (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Office')) ); - -SELECT "." AS " "; -INSERT INTO CA_GROUP_ENTRY (GE_GROUP_ID, GE_ENTRY_ID, GE_POSITION) -VALUES ( (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Office') , - (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Calculator'), - (SELECT MAX(GE_POSITION) + 1 FROM CA_GROUP_ENTRY WHERE GE_GROUP_ID = (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Office')) ); - -SELECT "." AS " "; -INSERT INTO CA_GROUP_ENTRY (GE_GROUP_ID, GE_ENTRY_ID, GE_POSITION) -VALUES ( (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Office') , - (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Active notes'), - (SELECT MAX(GE_POSITION) + 1 FROM CA_GROUP_ENTRY WHERE GE_GROUP_ID = (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Office')) ); - -SELECT "." AS " "; -INSERT INTO CA_GROUP_ENTRY (GE_GROUP_ID, GE_ENTRY_ID, GE_POSITION) -VALUES ( (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Office') , - (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Adobe PDF'), - (SELECT MAX(GE_POSITION) + 1 FROM CA_GROUP_ENTRY WHERE GE_GROUP_ID = (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Office')) ); - -SELECT "." AS " "; -INSERT INTO CA_GROUP_ENTRY (GE_GROUP_ID, GE_ENTRY_ID, GE_POSITION) -VALUES ( (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Office') , - (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'File mgr.'), - (SELECT MAX(GE_POSITION) + 1 FROM CA_GROUP_ENTRY WHERE GE_GROUP_ID = (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Office')) ); - -SELECT "BIND ITEMS TO GROUP Multimedia (CREATE LINKS)" AS " "; -SELECT "." AS " "; -INSERT INTO CA_GROUP_ENTRY (GE_GROUP_ID, GE_ENTRY_ID, GE_POSITION) -VALUES ( (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Multimedia') , - (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Music Player'), - 1 ); - -SELECT "." AS " "; -INSERT INTO CA_GROUP_ENTRY (GE_GROUP_ID, GE_ENTRY_ID, GE_POSITION) -VALUES ( (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Multimedia') , - (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Photos'), - (SELECT MAX(GE_POSITION) + 1 FROM CA_GROUP_ENTRY WHERE GE_GROUP_ID = (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Multimedia')) ); - -SELECT "." AS " "; -INSERT INTO CA_GROUP_ENTRY (GE_GROUP_ID, GE_ENTRY_ID, GE_POSITION) -VALUES ( (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Multimedia') , - (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Radio'), - (SELECT MAX(GE_POSITION) + 1 FROM CA_GROUP_ENTRY WHERE GE_GROUP_ID = (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Multimedia')) ); - -SELECT "." AS " "; -INSERT INTO CA_GROUP_ENTRY (GE_GROUP_ID, GE_ENTRY_ID, GE_POSITION) -VALUES ( (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Multimedia') , - (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Recorder'), - (SELECT MAX(GE_POSITION) + 1 FROM CA_GROUP_ENTRY WHERE GE_GROUP_ID = (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Multimedia')) ); - -SELECT "." AS " "; -INSERT INTO CA_GROUP_ENTRY (GE_GROUP_ID, GE_ENTRY_ID, GE_POSITION) -VALUES ( (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Multimedia') , - (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Ovi Music'), - (SELECT MAX(GE_POSITION) + 1 FROM CA_GROUP_ENTRY WHERE GE_GROUP_ID = (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Multimedia')) ); - -SELECT "." AS " "; -INSERT INTO CA_GROUP_ENTRY (GE_GROUP_ID, GE_ENTRY_ID, GE_POSITION) -VALUES ( (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Multimedia') , - (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'RealPlayer'), - (SELECT MAX(GE_POSITION) + 1 FROM CA_GROUP_ENTRY WHERE GE_GROUP_ID = (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Multimedia')) ); - -SELECT "." AS " "; -INSERT INTO CA_GROUP_ENTRY (GE_GROUP_ID, GE_ENTRY_ID, GE_POSITION) -VALUES ( (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Multimedia') , - (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Videos & TV'), - (SELECT MAX(GE_POSITION) + 1 FROM CA_GROUP_ENTRY WHERE GE_GROUP_ID = (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Multimedia')) ); - -SELECT "." AS " "; -INSERT INTO CA_GROUP_ENTRY (GE_GROUP_ID, GE_ENTRY_ID, GE_POSITION) -VALUES ( (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Multimedia') , - (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Podcasting'), - (SELECT MAX(GE_POSITION) + 1 FROM CA_GROUP_ENTRY WHERE GE_GROUP_ID = (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Multimedia')) ); - -SELECT "BIND ITEMS TO GROUP Utils (CREATE LINKS)" AS " "; -SELECT "." AS " "; -INSERT INTO CA_GROUP_ENTRY (GE_GROUP_ID, GE_ENTRY_ID, GE_POSITION) -VALUES ( (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Utils') , - (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'SW update'), - 1 ); - -SELECT "." AS " "; -INSERT INTO CA_GROUP_ENTRY (GE_GROUP_ID, GE_ENTRY_ID, GE_POSITION) -VALUES ( (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Utils') , - (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Device updates'), - (SELECT MAX(GE_POSITION) + 1 FROM CA_GROUP_ENTRY WHERE GE_GROUP_ID = (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Utils')) ); - -SELECT "." AS " "; -INSERT INTO CA_GROUP_ENTRY (GE_GROUP_ID, GE_ENTRY_ID, GE_POSITION) -VALUES ( (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Utils') , - (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'eshell'), - (SELECT MAX(GE_POSITION) + 1 FROM CA_GROUP_ENTRY WHERE GE_GROUP_ID = (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Utils')) ); - -SELECT "." AS " "; -INSERT INTO CA_GROUP_ENTRY (GE_GROUP_ID, GE_ENTRY_ID, GE_POSITION) -VALUES ( (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Utils') , - (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Phone setup'), - (SELECT MAX(GE_POSITION) + 1 FROM CA_GROUP_ENTRY WHERE GE_GROUP_ID = (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Utils')) ); - -SELECT "." AS " "; -INSERT INTO CA_GROUP_ENTRY (GE_GROUP_ID, GE_ENTRY_ID, GE_POSITION) -VALUES ( (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Utils') , - (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Settings'), - (SELECT MAX(GE_POSITION) + 1 FROM CA_GROUP_ENTRY WHERE GE_GROUP_ID = (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Utils')) ); - -SELECT "BIND COLLECTIONS TO GROUP AllCollections (CREATE LINKS)" AS " "; -SELECT "." AS " "; -INSERT INTO CA_GROUP_ENTRY (GE_GROUP_ID, GE_ENTRY_ID, GE_POSITION) -VALUES ( (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'AllCollections') , - (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Downloaded'), - 1 ); - -SELECT "." AS " "; -INSERT INTO CA_GROUP_ENTRY (GE_GROUP_ID, GE_ENTRY_ID, GE_POSITION) -VALUES ( (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'AllCollections') , - (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Office'), - (SELECT MAX(GE_POSITION) + 1 FROM CA_GROUP_ENTRY WHERE GE_GROUP_ID = (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'AllCollections')) ); - -SELECT "." AS " "; -INSERT INTO CA_GROUP_ENTRY (GE_GROUP_ID, GE_ENTRY_ID, GE_POSITION) -VALUES ( (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'AllCollections') , - (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Multimedia'), - (SELECT MAX(GE_POSITION) + 1 FROM CA_GROUP_ENTRY WHERE GE_GROUP_ID = (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'AllCollections')) ); - -SELECT "." AS " "; -INSERT INTO CA_GROUP_ENTRY (GE_GROUP_ID, GE_ENTRY_ID, GE_POSITION) -VALUES ( (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'AllCollections') , - (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Utils'), - (SELECT MAX(GE_POSITION) + 1 FROM CA_GROUP_ENTRY WHERE GE_GROUP_ID = (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'AllCollections')) ); - - -SELECT "Create data for Favorites" AS " "; -SELECT "." AS " "; -INSERT INTO CA_ENTRY (EN_TEXT, EN_ROLE, EN_TYPE_NAME, EN_ICON_ID, EN_UID, EN_FLAGS ) -VALUES ( 'Favorites', 2, "collection", NULL , NULL, 12 ); - - -SELECT "." AS " "; -INSERT INTO CA_ICON (IC_FILENAME, IC_BITMAP_ID, IC_MASK_ID, IC_SKINMAJOR_ID, IC_SKINMINOR_ID) -VALUES ( 'c:\data\Images\kqticaicons\facebook.png', NULL, NULL, NULL, NULL); -INSERT INTO CA_ENTRY (EN_TEXT, EN_ROLE, EN_TYPE_NAME, EN_UID, EN_ICON_ID ) -VALUES ( 'Facebook', 1, "url", NULL , ( SELECT last_insert_rowid() ) ); -INSERT INTO CA_ATTRIBUTE (AT_ENTRY_ID, AT_NAME, AT_VALUE ) -VALUES ( ( SELECT last_insert_rowid() ) ,"url","http://www.facebook.com/"); - -SELECT "." AS " "; -INSERT INTO CA_ICON (IC_FILENAME, IC_BITMAP_ID, IC_MASK_ID, IC_SKINMAJOR_ID, IC_SKINMINOR_ID) -VALUES ( 'c:\data\Images\kqticaicons\google.png', NULL, NULL, NULL, NULL); -INSERT INTO CA_ENTRY (EN_TEXT, EN_ROLE, EN_TYPE_NAME, EN_UID, EN_ICON_ID ) -VALUES ( 'Google', 1, "url", NULL , ( SELECT last_insert_rowid() ) ); -INSERT INTO CA_ATTRIBUTE (AT_ENTRY_ID, AT_NAME, AT_VALUE ) -VALUES ( ( SELECT last_insert_rowid() ) ,"url","http://www.google.com/"); - -SELECT "." AS " "; -INSERT INTO CA_ICON (IC_FILENAME, IC_BITMAP_ID, IC_MASK_ID, IC_SKINMAJOR_ID, IC_SKINMINOR_ID) -VALUES ( 'c:\data\Images\kqticaicons\youtube.png', NULL, NULL, NULL, NULL); -INSERT INTO CA_ENTRY (EN_TEXT, EN_ROLE, EN_TYPE_NAME, EN_UID, EN_ICON_ID ) -VALUES ( 'YouTube', 1, "url", NULL , ( SELECT last_insert_rowid() ) ); -INSERT INTO CA_ATTRIBUTE (AT_ENTRY_ID, AT_NAME, AT_VALUE ) -VALUES ( ( SELECT last_insert_rowid() ) ,"url","http://www.youtube.com/"); - -SELECT "." AS " "; -INSERT INTO CA_ICON (IC_FILENAME, IC_BITMAP_ID, IC_MASK_ID, IC_SKINMAJOR_ID, IC_SKINMINOR_ID) -VALUES ( 'c:\data\Images\kqticaicons\myspace.png', NULL, NULL, NULL, NULL); -INSERT INTO CA_ENTRY (EN_TEXT, EN_ROLE, EN_TYPE_NAME, EN_UID, EN_ICON_ID ) -VALUES ( 'MySpace', 1, "url", NULL , ( SELECT last_insert_rowid() ) ); -INSERT INTO CA_ATTRIBUTE (AT_ENTRY_ID, AT_NAME, AT_VALUE ) -VALUES ( ( SELECT last_insert_rowid() ) ,"url","http://www.myspace.com/"); - -SELECT "." AS " "; -INSERT INTO CA_GROUP_ENTRY (GE_GROUP_ID, GE_ENTRY_ID, GE_POSITION) -VALUES ( (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Favorites') , - (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Facebook'), - 1 ); - -SELECT "." AS " "; -INSERT INTO CA_GROUP_ENTRY (GE_GROUP_ID, GE_ENTRY_ID, GE_POSITION) -VALUES ( (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Favorites') , - (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Google'), - (SELECT MAX(GE_POSITION) + 1 FROM CA_GROUP_ENTRY WHERE GE_GROUP_ID = (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Favorites')) ); - -SELECT "." AS " "; -INSERT INTO CA_GROUP_ENTRY (GE_GROUP_ID, GE_ENTRY_ID, GE_POSITION) -VALUES ( (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Favorites') , - (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'YouTube'), - (SELECT MAX(GE_POSITION) + 1 FROM CA_GROUP_ENTRY WHERE GE_GROUP_ID = (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Favorites')) ); - -SELECT "." AS " "; -INSERT INTO CA_GROUP_ENTRY (GE_GROUP_ID, GE_ENTRY_ID, GE_POSITION) -VALUES ( (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Favorites') , - (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'MySpace'), - (SELECT MAX(GE_POSITION) + 1 FROM CA_GROUP_ENTRY WHERE GE_GROUP_ID = (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Favorites')) ); - -SELECT "." AS " "; -INSERT INTO CA_GROUP_ENTRY (GE_GROUP_ID, GE_ENTRY_ID, GE_POSITION) -VALUES ( (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'AllCollections') , - (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Favorites'), - (SELECT MAX(GE_POSITION) + 1 FROM CA_GROUP_ENTRY WHERE GE_GROUP_ID = (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'AllCollections')) ); - -SELECT "." AS " "; -INSERT INTO CA_ENTRY (EN_TEXT, EN_ROLE, EN_TYPE_NAME, EN_ICON_ID, EN_UID, EN_FLAGS ) -VALUES ( 'Games', 2, "collection", NULL , NULL, 12 ); - -SELECT "." AS " "; -INSERT INTO CA_LOCALIZATION_TEXT ( LT_TABLE_NAME, LT_ATTRIBUTE_NAME, LT_STRING_ID, LT_ROW_ID ) -VALUES ( 'CA_ENTRY', 'EN_TEXT', "txt_applib_dblist_games", ( SELECT last_insert_rowid() ) ); - -SELECT "." AS " "; -INSERT INTO CA_GROUP_ENTRY (GE_GROUP_ID, GE_ENTRY_ID, GE_POSITION) -VALUES ( (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'AllCollections') , - (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'Games'), - (SELECT MAX(GE_POSITION) + 1 FROM CA_GROUP_ENTRY WHERE GE_GROUP_ID = (SELECT ENTRY_ID FROM CA_ENTRY WHERE EN_TEXT = 'AllCollections')) ); - -SELECT "." AS " "; -INSERT INTO CA_DB_PROPERTIES ( DB_PROPERTY, DB_VALUE ) -VALUES ( 'Version', '00001' ); - -SELECT "." AS " "; -INSERT INTO CA_DB_PROPERTIES ( DB_PROPERTY, DB_VALUE ) -VALUES ( 'Language', 'en_GB' ); - -SELECT "." AS " "; -INSERT INTO CA_DB_PROPERTIES ( DB_PROPERTY, DB_VALUE ) -VALUES ( 'QMfile', 'db_textmap_' ); - diff -r 9d806967057c -r 7f0462e8c3da contentstorage/castorage/data/make_castoragedb.sql --- a/contentstorage/castorage/data/make_castoragedb.sql Tue Mar 23 23:42:03 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,4 +0,0 @@ -.read create_castoragedb.sql -.genfkey --exec -.read fill_castoragedb.sql - diff -r 9d806967057c -r 7f0462e8c3da contentstorage/castorage/inc/casqlcommands.h --- a/contentstorage/castorage/inc/casqlcommands.h Tue Mar 23 23:42:03 2010 +0200 +++ b/contentstorage/castorage/inc/casqlcommands.h Tue Mar 23 23:55:55 2010 +0200 @@ -49,9 +49,8 @@ VALUES ( :GE_GROUP_ID, :GE_ENTRY_ID, :GE_POSITION )" ); _LIT( KSQLInsertToIcon, "INSERT INTO CA_ICON \ -(IC_FILENAME,IC_BITMAP_ID,IC_MASK_ID,IC_SKINMAJOR_ID,IC_SKINMINOR_ID) \ -VALUES ( :IC_FILENAME, :IC_BITMAP_ID, :IC_MASK_ID, \ -:IC_SKINMAJOR_ID, :IC_SKINMINOR_ID )" ); +(IC_FILENAME,IC_SKIN_ID,IC_APP_ID) \ +VALUES ( :IC_FILENAME, :IC_SKIN_ID, :IC_APP_ID )" ); _LIT( KSQLInsertToLaunch, "INSERT INTO CA_LAUNCH \ (LA_ENTRY_ID, LA_LAUNCH_TIME) \ @@ -96,10 +95,8 @@ // Update Icon _LIT( KSQLUpdateIconId, "ICON_ID = :ICON_ID " ); _LIT( KSQLUpdateIconFileName, "IC_FILENAME = :IC_FILENAME " ); -_LIT( KSQLUpdateIconBitmapId, "IC_BITMAP_ID = :IC_BITMAP_ID " ); -_LIT( KSQLUpdateIconMaskId, "IC_MASK_ID = :IC_MASK_ID " ); -_LIT( KSQLUpdateIconSkinMajorId, "IC_SKINMAJOR_ID = :IC_SKINMAJOR_ID " ); -_LIT( KSQLUpdateIconSkinMinorId, "IC_SKINMINOR_ID = :IC_SKINMINOR_ID " ); +_LIT( KSQLUpdateIconSkinId, "IC_SKIN_ID = :IC_SKIN_ID " ); +_LIT( KSQLUpdateIconAppId, "IC_APP_ID = :IC_APP_ID " ); _LIT( KSQLUpdateIconWhere, "WHERE ICON_ID = :ICON_ID" ); // Update property @@ -136,18 +133,18 @@ _LIT( KSQLGetListByEntryIds, "SELECT ENTRY_ID, EN_TEXT, EN_DESCRIPTION, \ EN_ROLE, EN_TYPE_NAME, EN_ICON_ID, EN_CREATION_TIME, EN_UID, EN_FLAGS, \ -IC_FILENAME, IC_BITMAP_ID, IC_MASK_ID, IC_SKINMAJOR_ID, IC_SKINMINOR_ID \ +IC_FILENAME,IC_SKIN_ID,IC_APP_ID \ FROM CA_ENTRY LEFT JOIN CA_ICON ON EN_ICON_ID = ICON_ID \ WHERE ENTRY_ID IN ( %S )" ); _LIT( KSQLGetList, "SELECT ENTRY_ID, EN_TEXT, EN_DESCRIPTION, EN_ROLE, \ EN_TYPE_NAME, EN_ICON_ID, EN_CREATION_TIME, EN_UID, EN_FLAGS, IC_FILENAME, \ -IC_BITMAP_ID, IC_MASK_ID, IC_SKINMAJOR_ID, IC_SKINMINOR_ID FROM \ +IC_SKIN_ID, IC_APP_ID FROM \ CA_ENTRY LEFT JOIN CA_ICON ON EN_ICON_ID = ICON_ID " ); _LIT( KSQLGetListByParentId, "SELECT ENTRY_ID, EN_TEXT, EN_DESCRIPTION, \ EN_ROLE, EN_TYPE_NAME, EN_ICON_ID, EN_CREATION_TIME, EN_UID, EN_FLAGS, \ -IC_FILENAME, IC_BITMAP_ID, IC_MASK_ID, IC_SKINMAJOR_ID, IC_SKINMINOR_ID, \ +IC_FILENAME, IC_SKIN_ID, IC_APP_ID, \ GE_GROUP_ID, GE_ENTRY_ID, GE_POSITION FROM CA_ENTRY \ LEFT JOIN CA_ICON ON EN_ICON_ID = ICON_ID LEFT JOIN CA_GROUP_ENTRY ON \ GE_ENTRY_ID = ENTRY_ID WHERE GE_GROUP_ID = :GE_GROUP_ID %S " ); @@ -162,8 +159,7 @@ // %S - the input table to work on. _LIT( KSQLGetListByLaunchDataPart1,"SELECT ENTRY_ID, EN_TEXT, \ EN_DESCRIPTION, EN_ROLE, EN_TYPE_NAME, EN_ICON_ID, EN_CREATION_TIME, \ -EN_UID, EN_FLAGS, IC_FILENAME, IC_BITMAP_ID, IC_MASK_ID, IC_SKINMAJOR_ID, \ -IC_SKINMINOR_ID FROM ("); +EN_UID, EN_FLAGS, IC_FILENAME, IC_SKIN_ID, IC_APP_ID FROM ("); // %S - the table to match e.g KSQLGetMostUsed or KSQLGetLastUsed // The column USAGE_DATA is used to order the items @@ -178,10 +174,8 @@ _LIT( KSQLGetIconId,"SELECT ICON_ID AS Data FROM CA_ICON \ WHERE IC_FILENAME = :IC_FILENAME AND \ -IC_BITMAP_ID = :IC_BITMAP_ID AND \ -IC_MASK_ID = :IC_MASK_ID AND \ -IC_SKINMAJOR_ID = :IC_SKINMAJOR_ID AND \ -IC_SKINMINOR_ID = :IC_SKINMINOR_ID"); +IC_SKIN_ID = :IC_SKIN_ID AND \ +IC_APP_ID = :IC_APP_ID"); _LIT( KSQLGetEntryIdFromEntryTable,"SELECT ENTRY_ID AS Data FROM CA_ENTRY \ WHERE ENTRY_ID = :ENTRY_ID"); @@ -189,13 +183,12 @@ _LIT( KSQLGETIconIdFromEntryTable, "SELECT EN_ICON_ID AS Data FROM CA_ENTRY \ WHERE ENTRY_ID = :ENTRY_ID"); -_LIT( KSQLGetIconDataByIdIcon,"SELECT ICON_ID, IC_FILENAME, IC_BITMAP_ID, \ -IC_MASK_ID, IC_SKINMAJOR_ID, IC_SKINMINOR_ID \ +_LIT( KSQLGetIconDataByIdIcon,"SELECT ICON_ID, IC_FILENAME, IC_SKIN_ID, IC_APP_ID \ FROM CA_ICON WHERE ICON_ID = :EN_ICON_ID"); _LIT( KSQLGetIconsItems,"SELECT ENTRY_ID, EN_TEXT, EN_DESCRIPTION, EN_ROLE, \ EN_TYPE_NAME, EN_ICON_ID, EN_CREATION_TIME, EN_UID, EN_FLAGS, IC_FILENAME, \ -IC_BITMAP_ID, IC_MASK_ID, IC_SKINMAJOR_ID, IC_SKINMINOR_ID FROM \ +IC_SKIN_ID, IC_APP_ID FROM \ CA_ENTRY LEFT JOIN CA_ICON ON EN_ICON_ID = ICON_ID \ WHERE EN_ICON_ID = :EN_ICON_ID"); @@ -283,10 +276,8 @@ _LIT( KSQLIconId, ":ICON_ID" ); _LIT( KSQLIcFileName, ":IC_FILENAME" ); -_LIT( KSQLIcBitmapId, ":IC_BITMAP_ID" ); -_LIT( KSQLIcMaskId, ":IC_MASK_ID" ); -_LIT( KSQLIcSkinMajorId, ":IC_SKINMAJOR_ID" ); -_LIT( KSQLIcSkinMinorId, ":IC_SKINMINOR_ID" ); +_LIT( KSQLIcSkinId, ":IC_SKIN_ID" ); +_LIT( KSQLIcAppId, ":IC_APP_ID" ); _LIT( KSQLLaunchId, ":LAUNCH_ID" ); _LIT( KSQLLaLaunchTime, ":LA_LAUNCH_TIME" ); @@ -330,10 +321,8 @@ _LIT( KColumnIconId, "ICON_ID" ); _LIT( KColumnIcFileName, "IC_FILENAME" ); -_LIT( KColumnIcBitmapId, "IC_BITMAP_ID" ); -_LIT( KColumnIcMaskId, "IC_MASK_ID" ); -_LIT( KColumnIcSkinMajorId, "IC_SKINMAJOR_ID" ); -_LIT( KColumnIcSkinMinorId, "IC_SKINMINOR_ID" ); +_LIT( KColumnIcSkinId, "IC_SKIN_ID" ); +_LIT( KColumnIcAppId, "IC_APP_ID" ); _LIT( KColumnLaunchId, "LAUNCH_ID" ); _LIT( KColumnLaLaunchTime, "LA_LAUNCH_TIME" ); diff -r 9d806967057c -r 7f0462e8c3da contentstorage/castorage/inc/casqlitestorage.h --- a/contentstorage/castorage/inc/casqlitestorage.h Tue Mar 23 23:42:03 2010 +0200 +++ b/contentstorage/castorage/inc/casqlitestorage.h Tue Mar 23 23:55:55 2010 +0200 @@ -18,7 +18,7 @@ #ifndef C_CASTORAGE_ENGINE_H #define C_CASTORAGE_ENGINE_H -#include +#include #include #include #include "castorage.h" diff -r 9d806967057c -r 7f0462e8c3da contentstorage/castorage/src/casqlitestorage.cpp --- a/contentstorage/castorage/src/casqlitestorage.cpp Tue Mar 23 23:42:03 2010 +0200 +++ b/contentstorage/castorage/src/casqlitestorage.cpp Tue Mar 23 23:55:55 2010 +0200 @@ -23,6 +23,7 @@ #include "cainnerquery.h" #include "caarraycleanup.inl" #include "calocalizationentry.h" +#include "cainternaltypes.h" // --------------------------------------------------------------------------- // CCASqLiteStorage::CCpStorageEngine() @@ -184,6 +185,30 @@ CCaSqlQuery::EAttribute ); CleanupStack::PopAndDestroy( sqlGetAttributesQuery ); } + + if( aQuery->GetAttributes().Count() ) + { + for( int i=aResultContainer.Count()-1; i>=0; i--) + { + for( int j=0; jGetAttributes().Count(); j++ ) + { + const TPtrC attrNameFromQuery( aQuery->GetAttributes()[j]->Name() ); + const TPtrC attrValueFromQuery( aQuery->GetAttributes()[j]->Value() ); + + TBuf16 value; + aResultContainer[i]->FindAttribute( attrNameFromQuery, value ); + + if( value.CompareC( attrValueFromQuery ) ) + { + // remove from results + delete aResultContainer[i]; + aResultContainer.Remove( i ); + break; + } + } + } + } + // set entries if proper order if they were fetched by ids if( aQuery->GetIds().Count() > 0 ) { @@ -221,6 +246,7 @@ void CCaSqLiteStorage::GetEntriesIdsL( const CCaInnerQuery* aQuery, RArray& aResultIdArray ) { + /* CCaSqlQuery* sqlGetEntriesIdsQuery = CCaSqlQuery::NewLC( iSqlDb ); CaSqlQueryCreator::CreateGetEntriesQueryL( aQuery, sqlGetEntriesIdsQuery ); @@ -229,6 +255,17 @@ sqlGetEntriesIdsQuery->ExecuteL( aResultIdArray, CCaSqlQuery::EEntryTable ); CleanupStack::PopAndDestroy( sqlGetEntriesIdsQuery ); + */ + RPointerArray resultContainer; + CleanupResetAndDestroyPushL( resultContainer ); + GetEntriesL( aQuery, resultContainer ); + for( TInt i=0; iGetId(); + aResultIdArray.AppendL( id ); + } + + CleanupStack::PopAndDestroy( &resultContainer ); } // --------------------------------------------------------------------------- diff -r 9d806967057c -r 7f0462e8c3da contentstorage/castorage/src/casqlquery.cpp --- a/contentstorage/castorage/src/casqlquery.cpp Tue Mar 23 23:42:03 2010 +0200 +++ b/contentstorage/castorage/src/casqlquery.cpp Tue Mar 23 23:55:55 2010 +0200 @@ -516,25 +516,15 @@ BindTextL( iStatement.ParameterIndex( KSQLIcFileName ), aEntry->GetIcon().iFileName ); } - if( iQuery.Find( KSQLIcBitmapId ) != KErrNotFound ) + if( iQuery.Find( KSQLIcSkinId ) != KErrNotFound ) { - BindIntL( iStatement.ParameterIndex( KSQLIcBitmapId ), - aEntry->GetIcon().iBitmapId ); - } - if( iQuery.Find(KSQLIcMaskId) != KErrNotFound ) - { - BindIntL( iStatement.ParameterIndex( KSQLIcMaskId ), - aEntry->GetIcon().iMaskId ); + BindTextL( iStatement.ParameterIndex( KSQLIcSkinId ), + aEntry->GetIcon().iSkinId ); } - if( iQuery.Find( KSQLIcSkinMajorId ) != KErrNotFound ) + if( iQuery.Find( KSQLIcAppId ) != KErrNotFound ) { - BindIntL( iStatement.ParameterIndex( KSQLIcSkinMajorId ), - aEntry->GetIcon().iSkinMajorId ); - } - if( iQuery.Find( KSQLIcSkinMinorId ) != KErrNotFound ) - { - BindIntL( iStatement.ParameterIndex( KSQLIcSkinMinorId ), - aEntry->GetIcon().iSkinMinorId ); + BindTextL( iStatement.ParameterIndex( KSQLIcAppId ), + aEntry->GetIcon().iApplicationId ); } } @@ -687,15 +677,7 @@ KColumnEnFlags ) ); TInt idIcon = iStatement.ColumnInt( ColumnIndexL( iStatement, KColumnEnIdIcon ) ); - TInt bitmapId = iStatement.ColumnInt( ColumnIndexL( iStatement, - KColumnIcBitmapId ) ); - TInt maskId = iStatement.ColumnInt( ColumnIndexL( iStatement, - KColumnIcMaskId ) ); - TInt skinMajorId = iStatement.ColumnInt( ColumnIndexL( iStatement, - KColumnIcSkinMajorId ) ); - TInt skinMinorId = iStatement.ColumnInt( ColumnIndexL( iStatement, - KColumnIcSkinMinorId ) ); - + TPtrC text; User::LeaveIfError( iStatement. ColumnText( ColumnIndexL( iStatement, KColumnEnText ), text ) ); @@ -706,15 +688,24 @@ TPtrC typeName; User::LeaveIfError( iStatement.ColumnText( ColumnIndexL(iStatement, KColumnEnTypeName ), typeName) ); + TPtrC iconFilename; User::LeaveIfError( iStatement.ColumnText( ColumnIndexL( iStatement, KColumnIcFileName ), iconFilename ) ); + TPtrC iconSkinId; + User::LeaveIfError( iStatement.ColumnText( ColumnIndexL( + iStatement, KColumnIcSkinId ), iconSkinId ) ); + + TPtrC iconApplicationId; + User::LeaveIfError( iStatement.ColumnText( ColumnIndexL( + iStatement, KColumnIcAppId ), iconApplicationId ) ); + CCaInnerEntry* result = CCaInnerEntry::NewLC(); result->SetId( entryId ); result->SetRole( role ); - result->SetIconDataL( bitmapId, maskId, skinMajorId, skinMinorId, - iconFilename ); + result->SetIconDataL( + iconFilename, iconSkinId, iconApplicationId ); result->SetIconId( idIcon ); result->SetFlags( flags ); result->SetUid( uid ); @@ -875,14 +866,12 @@ User::LeaveIfError(iStatement.ColumnText( ColumnIndexL( iStatement, KColumnIcFileName), aIconAttributes.iFileName)); - aIconAttributes.iBitmapId = iStatement.ColumnInt( - ColumnIndexL( iStatement, KColumnIcBitmapId ) ); - aIconAttributes.iMaskId = iStatement.ColumnInt( - ColumnIndexL( iStatement, KColumnIcMaskId ) ); - aIconAttributes.iSkinMajorId = iStatement.ColumnInt( - ColumnIndexL( iStatement, KColumnIcSkinMajorId ) ); - aIconAttributes.iSkinMinorId = iStatement.ColumnInt( - ColumnIndexL( iStatement, KColumnIcSkinMinorId ) ); + User::LeaveIfError(iStatement.ColumnText( + ColumnIndexL( iStatement, KColumnIcSkinId), + aIconAttributes.iSkinId)); + User::LeaveIfError(iStatement.ColumnText( + ColumnIndexL( iStatement, KColumnIcAppId), + aIconAttributes.iApplicationId)); columnCount++; } return columnCount; diff -r 9d806967057c -r 7f0462e8c3da contentstorage/castorage/src/casqlquerycreator.cpp --- a/contentstorage/castorage/src/casqlquerycreator.cpp Tue Mar 23 23:42:03 2010 +0200 +++ b/contentstorage/castorage/src/casqlquerycreator.cpp Tue Mar 23 23:55:55 2010 +0200 @@ -231,10 +231,9 @@ { // entry's icon data is not in DB if( ( aEntry->GetIcon().iFileName.Length() != 0 ) || - ( aEntry->GetIcon().iBitmapId != 0 ) || - ( aEntry->GetIcon().iMaskId != 0 ) || - ( aEntry->GetIcon().iSkinMajorId != 0 ) || - ( aEntry->GetIcon().iSkinMinorId != 0 ) ) + ( aEntry->GetIcon().iSkinId.Length() != 0 ) || + ( aEntry->GetIcon().iApplicationId.Length() != 0 ) + ) { // icon is not null, so that insert it to storage aQuery->SetQueryL( KSQLInsertToIcon ); @@ -269,13 +268,10 @@ CCaInnerEntry::TIconAttributes iconAttributs; query->ExecuteL( iconAttributs ); query->CloseStatement(); - if( !( !iconAttributs.iFileName.Compare( aEntry->GetIcon().iFileName ) - && ( iconAttributs.iBitmapId == aEntry->GetIcon().iBitmapId ) - && ( iconAttributs.iMaskId == aEntry->GetIcon().iMaskId ) - && ( iconAttributs.iSkinMajorId - == aEntry->GetIcon().iSkinMajorId ) - && ( iconAttributs.iSkinMinorId - == aEntry->GetIcon().iSkinMinorId ) ) ) + if( !( !iconAttributs.iFileName.Compare( aEntry->GetIcon().iFileName ) + && (!iconAttributs.iSkinId.Compare( aEntry->GetIcon().iSkinId )) + && (!iconAttributs.iApplicationId.Compare( aEntry->GetIcon().iApplicationId )) + ) ) { // entry's icon data is updated // if icon is used by another entry(s), new icon'll added to DB and @@ -346,32 +342,18 @@ query.Append( KSQLUpdateIconFileName ); query.Append( KComma ); } - if( aEntry->GetIcon().iBitmapId ) + if( aEntry->GetIcon().iSkinId.Compare( KNullDesC ) ) { - query.ReAllocL( query.Length() + KSQLUpdateIconBitmapId().Length() + query.ReAllocL( query.Length() + KSQLUpdateIconSkinId().Length() + KComma().Length() ); - query.Append( KSQLUpdateIconBitmapId ); + query.Append( KSQLUpdateIconSkinId ); query.Append( KComma ); } - if( aEntry->GetIcon().iMaskId ) - { - query.ReAllocL( query.Length() + KSQLUpdateIconMaskId().Length() - + KComma().Length() ); - query.Append( KSQLUpdateIconMaskId ); - query.Append( KComma ); - } - if( aEntry->GetIcon().iSkinMajorId ) + if( aEntry->GetIcon().iApplicationId.Compare(KNullDesC) ) { - query.ReAllocL( query.Length() + KSQLUpdateIconSkinMajorId().Length() + query.ReAllocL( query.Length() + KSQLUpdateIconAppId().Length() + KComma().Length() ); - query.Append( KSQLUpdateIconSkinMajorId ); - query.Append( KComma ); - } - if( aEntry->GetIcon().iSkinMinorId ) - { - query.ReAllocL( query.Length() + KSQLUpdateIconSkinMinorId().Length() - + KComma().Length() ); - query.Append( KSQLUpdateIconSkinMinorId ); + query.Append( KSQLUpdateIconAppId ); } if( !query.Right( KComma().Length() ).Compare( KComma ) ) { @@ -962,10 +944,9 @@ CaSqlQueryCreator::TIconType CaSqlQueryCreator::CheckIconType( const CCaInnerEntry* aEntry ) { CaSqlQueryCreator::TIconType iconType; - if( aEntry->GetIcon().iBitmapId == 0 && - aEntry->GetIcon().iMaskId == 0 && - aEntry->GetIcon().iSkinMajorId == 0 && - aEntry->GetIcon().iSkinMinorId == 0 && + if( + aEntry->GetIcon().iApplicationId.Length() == 0 && + aEntry->GetIcon().iSkinId.Length() == 0 && aEntry->GetIcon().iFileName.Length() == 0 ) { if( aEntry->GetIconId() > 0 ) diff -r 9d806967057c -r 7f0462e8c3da contentstorage/cautils/inc/cainnerentry.h --- a/contentstorage/cautils/inc/cainnerentry.h Tue Mar 23 23:42:03 2010 +0200 +++ b/contentstorage/cautils/inc/cainnerentry.h Tue Mar 23 23:55:55 2010 +0200 @@ -35,11 +35,9 @@ { //TODO: maybe it should be C class with RBuf instead of TFileName TInt iId; - TInt iBitmapId; - TInt iMaskId; - TInt iSkinMajorId; - TInt iSkinMinorId; TFileName iFileName; + TBuf iSkinId; + TBuf iApplicationId; }; public: @@ -149,14 +147,12 @@ /** * Sets icon data. - * @param aBitmapId Bitmap id. - * @param aMaskId Mask id. - * @param aSkinMajorId Skin major id. - * @param aSkinMinorId Skin minor id. * @param aFilename Filename. + * @param aSkinId Skin id. + * @param aApplicationId application id. */ - IMPORT_C void SetIconDataL( TInt aBitmapId, TInt aMaskId, - TInt aSkinMajorId, TInt aSkinMinorId, const TDesC& aFilename ); + IMPORT_C void SetIconDataL( + const TDesC& aFilename, const TDesC& aSkinId, const TDesC& aApplicationId ); /** * Adds attribute to entry. diff -r 9d806967057c -r 7f0462e8c3da contentstorage/cautils/inc/cainnerquery.h --- a/contentstorage/cautils/inc/cainnerquery.h Tue Mar 23 23:42:03 2010 +0200 +++ b/contentstorage/cautils/inc/cainnerquery.h Tue Mar 23 23:55:55 2010 +0200 @@ -19,6 +19,7 @@ #define __CCAINNERQUERY_H__ #include +#include "caentryattribute.h" //FORWARD DECLARATIONS class CDesC16ArrayFlat; @@ -189,6 +190,20 @@ * @return The maximum amount of entries to be fetched. */ IMPORT_C TUint GetCount() const; + + /** + * Adds attribute to query. + * @param aKey Attribute key. + * @param aValue Attribute value. + */ + IMPORT_C void AddAttributeL( const TDesC& aKey, const TDesC& aValue ); + + /** + * Get attributes array + * @return attributes array + */ + IMPORT_C const RCaEntryAttrArray& GetAttributes() const; + private: @@ -249,6 +264,11 @@ * Number of entries to fetch */ TUint iCount; + + /* + * Attributes array. Own + */ + RCaEntryAttrArray iAttributes; }; diff -r 9d806967057c -r 7f0462e8c3da contentstorage/cautils/src/cainnerentry.cpp --- a/contentstorage/cautils/src/cainnerentry.cpp Tue Mar 23 23:42:03 2010 +0200 +++ b/contentstorage/cautils/src/cainnerentry.cpp Tue Mar 23 23:55:55 2010 +0200 @@ -64,12 +64,12 @@ aStream.WriteInt32L( iId ); aStream.WriteInt32L( iUid ); aStream.WriteInt32L( iIcon.iId ); - aStream.WriteInt32L( iIcon.iBitmapId ); - aStream.WriteInt32L( iIcon.iMaskId ); - aStream.WriteInt32L( iIcon.iSkinMajorId ); - aStream.WriteInt32L( iIcon.iSkinMinorId ); aStream.WriteUint32L( iIcon.iFileName.Length() ); aStream.WriteL( iIcon.iFileName, iIcon.iFileName.Length() ); + aStream.WriteUint32L( iIcon.iSkinId.Length() ); + aStream.WriteL( iIcon.iSkinId, iIcon.iSkinId.Length() ); + aStream.WriteUint32L( iIcon.iApplicationId.Length() ); + aStream.WriteL( iIcon.iApplicationId, iIcon.iApplicationId.Length() ); aStream.WriteUint32L( iFlags ); aStream.WriteUint32L( iRole ); aStream.WriteUint32L( iText.Length() ); @@ -91,12 +91,12 @@ iId = aStream.ReadInt32L(); iUid = aStream.ReadInt32L(); iIcon.iId = aStream.ReadInt32L(); - iIcon.iBitmapId = aStream.ReadInt32L(); - iIcon.iMaskId = aStream.ReadInt32L(); - iIcon.iSkinMajorId = aStream.ReadInt32L(); - iIcon.iSkinMinorId = aStream.ReadInt32L(); TUint length = aStream.ReadUint32L(); aStream.ReadL( iIcon.iFileName, length ); + length = aStream.ReadUint32L(); + aStream.ReadL( iIcon.iSkinId, length ); + length = aStream.ReadUint32L(); + aStream.ReadL( iIcon.iApplicationId, length ); iFlags = aStream.ReadUint32L(); iRole = aStream.ReadUint32L(); length = aStream.ReadUint32L(); @@ -266,15 +266,12 @@ // // --------------------------------------------------------------------------- // -EXPORT_C void CCaInnerEntry::SetIconDataL( TInt aBitmapId, TInt aMaskId, - TInt aSkinMajorId, TInt aSkinMinorId, const TDesC& aFilename ) +EXPORT_C void CCaInnerEntry::SetIconDataL( + const TDesC& aFilename, const TDesC& aSkinId, const TDesC& aApplicationId ) { - iIcon.iBitmapId = aBitmapId; - iIcon.iMaskId = aMaskId; - iIcon.iSkinMajorId = aSkinMajorId; - iIcon.iSkinMinorId = aSkinMinorId; - iIcon.iFileName.Copy( aFilename ); + iIcon.iSkinId.Copy( aSkinId ); + iIcon.iApplicationId.Copy(aApplicationId); } // --------------------------------------------------------------------------- diff -r 9d806967057c -r 7f0462e8c3da contentstorage/cautils/src/cainnerquery.cpp --- a/contentstorage/cautils/src/cainnerquery.cpp Tue Mar 23 23:42:03 2010 +0200 +++ b/contentstorage/cautils/src/cainnerquery.cpp Tue Mar 23 23:55:55 2010 +0200 @@ -30,6 +30,7 @@ { delete iEntryTypeNames; iIds.Close(); + iAttributes.ResetAndDestroy(); } // --------------------------------------------------------------------------- @@ -81,6 +82,8 @@ aStream.WriteL( iEntryTypeNames->MdcaPoint( i ), iEntryTypeNames->MdcaPoint( i ).Length() ); } + iAttributes.ExternalizeL( aStream ); + aStream.CommitL(); } // --------------------------------------------------------------------------- @@ -114,6 +117,7 @@ iEntryTypeNames->AppendL( buf ); CleanupStack::PopAndDestroy( &buf ); } + iAttributes.InternalizeL( aStream ); } // --------------------------------------------------------------------------- @@ -302,3 +306,30 @@ { return iCount; } + +// --------------------------------------------------------------------------- +// +// --------------------------------------------------------------------------- +// +EXPORT_C void CCaInnerQuery::AddAttributeL( const TDesC& aKey, + const TDesC& aValue ) + { + // to avoid duplicated attribute + if( iAttributes.Exist( aKey ) ) + { + iAttributes.RemoveAttribute( aKey ); + } + CCaEntryAttribute* attr = CCaEntryAttribute::NewLC( aKey ); + attr->SetValueL( aValue ); + iAttributes.AppendL( attr ); + CleanupStack::Pop( attr ); + } + +// --------------------------------------------------------------------------- +// +// --------------------------------------------------------------------------- +// +EXPORT_C const RCaEntryAttrArray& CCaInnerQuery::GetAttributes() const + { + return iAttributes; + } diff -r 9d806967057c -r 7f0462e8c3da contentstorage/data/20022F82.rss --- a/contentstorage/data/20022F82.rss Tue Mar 23 23:42:03 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,53 +0,0 @@ -/* - * Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "Eclipse Public License v1.0" - * which accompanies this distribution, and is available - * at the URL "http://www.eclipse.org/legal/epl-v10.html". - * - * Initial Contributors: - * Nokia Corporation - initial contribution. - * - * Contributors: - * - * Description: Resource definitions for project castockhandlerplugins - * - */ - -#include - -#include "castrings.hrh" -#include "cahandlerplugin.hrh" - -RESOURCE REGISTRY_INFO theInfo - { - dll_uid = 0x20022F82; - interfaces = - { - INTERFACE_INFO - { - interface_uid = HANDLER_IF_UID; - implementations = - { - IMPLEMENTATION_INFO - { - implementation_uid = 0x20022F83; - version_no = 1; - display_name = ""; - default_data = str_datatype_app; - opaque_data = ""; - }, - IMPLEMENTATION_INFO - { - implementation_uid = 0x20022F85; - version_no = 1; - display_name = ""; - default_data = str_datatype_url; - opaque_data = ""; - } - }; - } - }; - } - diff -r 9d806967057c -r 7f0462e8c3da contentstorage/eabi/caextendedmenuu.def --- a/contentstorage/eabi/caextendedmenuu.def Tue Mar 23 23:42:03 2010 +0200 +++ b/contentstorage/eabi/caextendedmenuu.def Tue Mar 23 23:55:55 2010 +0200 @@ -1,19 +1,3 @@ EXPORTS - _ZN10CCaHandler12SupportsTypeERK7TDesC16 @ 1 NONAME - _ZN10CCaHandler14BaseConstructLEv @ 2 NONAME - _ZN10CCaHandler14HandleCommandLER13CCaInnerEntryRK6TDesC8 @ 3 NONAME - _ZN10CCaHandlerC1Ev @ 4 NONAME - _ZN10CCaHandlerC2Ev @ 5 NONAME - _ZN10CCaHandlerD0Ev @ 6 NONAME - _ZN10CCaHandlerD1Ev @ 7 NONAME - _ZN10CCaHandlerD2Ev @ 8 NONAME - _ZN16CCaHandlerEngine14HandleCommandLER13CCaInnerEntryRK6TDesC8 @ 9 NONAME - _ZN16CCaHandlerEngine4NewLEv @ 10 NONAME - _ZN16CCaHandlerEngine5NewLCEv @ 11 NONAME - _ZN16CCaHandlerEngineD0Ev @ 12 NONAME - _ZN16CCaHandlerEngineD1Ev @ 13 NONAME - _ZN16CCaHandlerEngineD2Ev @ 14 NONAME - _ZN17CaMenuIconUtility11GetItemIconERK13CCaInnerEntry @ 15 NONAME - _ZTI10CCaHandler @ 16 NONAME - _ZTV10CCaHandler @ 17 NONAME + _ZN17CaMenuIconUtility11GetItemIconERK13CCaInnerEntry @ 1 NONAME diff -r 9d806967057c -r 7f0462e8c3da contentstorage/eabi/camenuu.def --- a/contentstorage/eabi/camenuu.def Tue Mar 23 23:42:03 2010 +0200 +++ b/contentstorage/eabi/camenuu.def Tue Mar 23 23:55:55 2010 +0200 @@ -1,23 +1,24 @@ EXPORTS _Z11RunCaServerv @ 1 NONAME - _ZN15CCaStorageProxy11DbPropertyLERK7TDesC16R6TDes16 @ 2 NONAME - _ZN15CCaStorageProxy11GetEntriesLEPK13CCaInnerQueryR13RPointerArrayI13CCaInnerEntryE @ 3 NONAME - _ZN15CCaStorageProxy14GetEntriesIdsLEPK13CCaInnerQueryR6RArrayIiE @ 4 NONAME - _ZN15CCaStorageProxy14LocalizeEntryLER20CCaLocalizationEntry @ 5 NONAME - _ZN15CCaStorageProxy14SetDBPropertyLERK7TDesC16S2_ @ 6 NONAME - _ZN15CCaStorageProxy17GetLocalizationsLER13RPointerArrayI20CCaLocalizationEntryE @ 7 NONAME - _ZN15CCaStorageProxy4AddLEP13CCaInnerEntryi @ 8 NONAME - _ZN15CCaStorageProxy6TouchLEP13CCaInnerEntry @ 9 NONAME - _ZN15CCaStorageProxy7RemoveLERK6RArrayIiE @ 10 NONAME - _ZN15CCaStorageProxy9OrganizeLERK6RArrayIiE18TCaOperationParams @ 11 NONAME - _ZN16CCaSrvMmcHistory4FindEj @ 12 NONAME - _ZN16CCaSrvMmcHistory5LoadLER3RFsRK7TDesC16 @ 13 NONAME - _ZN16CCaSrvMmcHistory5SaveLER3RFsRK7TDesC16 @ 14 NONAME - _ZN16CCaSrvMmcHistory7InsertLEj @ 15 NONAME - _ZN18CCaInstallNotifier4NewLER18MCaInstallListenerNS_17TNotificationTypeE @ 16 NONAME - _ZNK14CCaSrvEngUtils10GetAppInfoERK13CCaInnerEntryR11TApaAppInfo @ 17 NONAME - _ZNK14CCaSrvEngUtils13GetApaAppInfoE4TUidR11TApaAppInfo @ 18 NONAME - _ZTI15CCaStorageProxy @ 19 NONAME - _ZTV15CCaStorageProxy @ 20 NONAME - _ZN15CCaStorageProxy11CustomSortLERK6RArrayIiEi @ 21 NONAME + _ZN15CCaStorageProxy11CustomSortLERK6RArrayIiEi @ 2 NONAME + _ZN15CCaStorageProxy11DbPropertyLERK7TDesC16R6TDes16 @ 3 NONAME + _ZN15CCaStorageProxy11GetEntriesLEPK13CCaInnerQueryR13RPointerArrayI13CCaInnerEntryE @ 4 NONAME + _ZN15CCaStorageProxy14GetEntriesIdsLEPK13CCaInnerQueryR6RArrayIiE @ 5 NONAME + _ZN15CCaStorageProxy14LocalizeEntryLER20CCaLocalizationEntry @ 6 NONAME + _ZN15CCaStorageProxy14SetDBPropertyLERK7TDesC16S2_ @ 7 NONAME + _ZN15CCaStorageProxy17GetLocalizationsLER13RPointerArrayI20CCaLocalizationEntryE @ 8 NONAME + _ZN15CCaStorageProxy20LoadDataBaseFromRomLEv @ 9 NONAME + _ZN15CCaStorageProxy4AddLEP13CCaInnerEntryi @ 10 NONAME + _ZN15CCaStorageProxy6TouchLEP13CCaInnerEntry @ 11 NONAME + _ZN15CCaStorageProxy7RemoveLERK6RArrayIiE @ 12 NONAME + _ZN15CCaStorageProxy9OrganizeLERK6RArrayIiE18TCaOperationParams @ 13 NONAME + _ZN16CCaSrvMmcHistory4FindEj @ 14 NONAME + _ZN16CCaSrvMmcHistory5LoadLER3RFsRK7TDesC16 @ 15 NONAME + _ZN16CCaSrvMmcHistory5SaveLER3RFsRK7TDesC16 @ 16 NONAME + _ZN16CCaSrvMmcHistory7InsertLEj @ 17 NONAME + _ZN18CCaInstallNotifier4NewLER18MCaInstallListenerNS_17TNotificationTypeE @ 18 NONAME + _ZNK14CCaSrvEngUtils10GetAppInfoERK13CCaInnerEntryR11TApaAppInfo @ 19 NONAME + _ZNK14CCaSrvEngUtils13GetApaAppInfoE4TUidR11TApaAppInfo @ 20 NONAME + _ZTI15CCaStorageProxy @ 21 NONAME + _ZTV15CCaStorageProxy @ 22 NONAME diff -r 9d806967057c -r 7f0462e8c3da contentstorage/eabi/cautilsu.def --- a/contentstorage/eabi/cautilsu.def Tue Mar 23 23:42:03 2010 +0200 +++ b/contentstorage/eabi/cautilsu.def Tue Mar 23 23:55:55 2010 +0200 @@ -1,7 +1,7 @@ EXPORTS _ZN11RCaIdsArray12InternalizeLER11RReadStream @ 1 NONAME _ZN13CCaInnerEntry12InternalizeLER11RReadStream @ 2 NONAME - _ZN13CCaInnerEntry12SetIconDataLEiiiiRK7TDesC16 @ 3 NONAME + _ZN13CCaInnerEntry12SetIconDataLERK7TDesC16S2_S2_ @ 3 NONAME _ZN13CCaInnerEntry13AddAttributeLERK7TDesC16S2_ @ 4 NONAME _ZN13CCaInnerEntry13FindAttributeERK7TDesC16R6TDes16 @ 5 NONAME _ZN13CCaInnerEntry15SetDescriptionLERK7TDesC16 @ 6 NONAME @@ -19,71 +19,73 @@ _ZN13CCaInnerQuery11SetFlagsOffEj @ 18 NONAME _ZN13CCaInnerQuery11SetParentIdEi @ 19 NONAME _ZN13CCaInnerQuery12InternalizeLER11RReadStream @ 20 NONAME - _ZN13CCaInnerQuery17SetEntryTypeNamesEP16CDesC16ArrayFlat @ 21 NONAME - _ZN13CCaInnerQuery4NewLEv @ 22 NONAME - _ZN13CCaInnerQuery5NewLCEv @ 23 NONAME - _ZN13CCaInnerQuery6SetUidEj @ 24 NONAME - _ZN13CCaInnerQuery7SetIdsLERK6RArrayIiE @ 25 NONAME - _ZN13CCaInnerQuery7SetRoleEi @ 26 NONAME - _ZN13CCaInnerQuery7SetSortENS_14TSortAttributeE @ 27 NONAME - _ZN13CCaInnerQuery8SetCountEj @ 28 NONAME - _ZN15RCaEntriesArray12InternalizeLER11RReadStream @ 29 NONAME - _ZN17CCaEntryAttribute4NewLERK7TDesC16 @ 30 NONAME - _ZN17CCaEntryAttribute5NewLCERK7TDesC16 @ 31 NONAME - _ZN17CCaEntryAttribute9SetValueLERK7TDesC16 @ 32 NONAME - _ZN17RCaEntryAttrArray15RemoveAttributeERK7TDesC16 @ 33 NONAME - _ZN17RCaEntryAttrArray4FindERK7TDesC16R6TDes16 @ 34 NONAME - _ZN17RCaEntryAttrArray5ExistERK7TDesC16 @ 35 NONAME - _ZN20CCaLocalizationEntry12SetStringIdLERK7TDesC16 @ 36 NONAME - _ZN20CCaLocalizationEntry13SetTableNameLERK7TDesC16 @ 37 NONAME - _ZN20CCaLocalizationEntry17SetAttributeNameLERK7TDesC16 @ 38 NONAME - _ZN20CCaLocalizationEntry19SetLocalizedStringLERK7TDesC16 @ 39 NONAME - _ZN20CCaLocalizationEntry4NewLEv @ 40 NONAME - _ZN20CCaLocalizationEntry5NewLCEv @ 41 NONAME - _ZN20CCaLocalizationEntry8SetRowIdEj @ 42 NONAME - _ZN20CCaLocalizationEntry9SetTextIdEj @ 43 NONAME - _ZN22CCaInnerNotifierFilter11SetParentIdEi @ 44 NONAME - _ZN22CCaInnerNotifierFilter12InternalizeLER11RReadStream @ 45 NONAME - _ZN22CCaInnerNotifierFilter12SetEntryRoleE10TEntryRole @ 46 NONAME - _ZN22CCaInnerNotifierFilter12SetTypeNamesEP16CDesC16ArrayFlat @ 47 NONAME - _ZN22CCaInnerNotifierFilter4NewLENS_13TNotifierTypeE @ 48 NONAME - _ZN22CCaInnerNotifierFilter5NewLCENS_13TNotifierTypeE @ 49 NONAME - _ZN22CCaInnerNotifierFilter7SetIdsLERK6RArrayIiE @ 50 NONAME - _ZN9MenuUtils8GetTUintERK7TDesC16Rj @ 51 NONAME - _ZNK11RCaIdsArray12ExternalizeLER12RWriteStream @ 52 NONAME - _ZNK11RCaIdsArray13MarshalDataLCEv @ 53 NONAME - _ZNK13CCaInnerEntry12ExternalizeLER12RWriteStream @ 54 NONAME - _ZNK13CCaInnerEntry13GetAttributesEv @ 55 NONAME - _ZNK13CCaInnerEntry14GetDescriptionEv @ 56 NONAME - _ZNK13CCaInnerEntry16GetEntryTypeNameEv @ 57 NONAME - _ZNK13CCaInnerEntry5GetIdEv @ 58 NONAME - _ZNK13CCaInnerEntry6GetUidEv @ 59 NONAME - _ZNK13CCaInnerEntry7GetIconEv @ 60 NONAME - _ZNK13CCaInnerEntry7GetRoleEv @ 61 NONAME - _ZNK13CCaInnerEntry7GetTextEv @ 62 NONAME - _ZNK13CCaInnerEntry8GetFlagsEv @ 63 NONAME - _ZNK13CCaInnerEntry9GetIconIdEv @ 64 NONAME - _ZNK13CCaInnerQuery10GetFlagsOnEv @ 65 NONAME - _ZNK13CCaInnerQuery11GetFlagsOffEv @ 66 NONAME - _ZNK13CCaInnerQuery11GetParentIdEv @ 67 NONAME - _ZNK13CCaInnerQuery12ExternalizeLER12RWriteStream @ 68 NONAME - _ZNK13CCaInnerQuery17GetEntryTypeNamesEv @ 69 NONAME - _ZNK13CCaInnerQuery6GetIdsEv @ 70 NONAME - _ZNK13CCaInnerQuery6GetUidEv @ 71 NONAME - _ZNK13CCaInnerQuery7GetRoleEv @ 72 NONAME - _ZNK13CCaInnerQuery7GetSortEv @ 73 NONAME - _ZNK13CCaInnerQuery8GetCountEv @ 74 NONAME - _ZNK15RCaEntriesArray12ExternalizeLER12RWriteStream @ 75 NONAME - _ZNK20CCaLocalizationEntry11GetStringIdEv @ 76 NONAME - _ZNK20CCaLocalizationEntry12GetTableNameEv @ 77 NONAME - _ZNK20CCaLocalizationEntry16GetAttributeNameEv @ 78 NONAME - _ZNK20CCaLocalizationEntry18GetLocalizedStringEv @ 79 NONAME - _ZNK20CCaLocalizationEntry8GetRowIdEv @ 80 NONAME - _ZNK20CCaLocalizationEntry9GetTextIdEv @ 81 NONAME - _ZNK22CCaInnerNotifierFilter11GetParentIdEv @ 82 NONAME - _ZNK22CCaInnerNotifierFilter12ExternalizeLER12RWriteStream @ 83 NONAME - _ZNK22CCaInnerNotifierFilter12GetEntryRoleEv @ 84 NONAME - _ZNK22CCaInnerNotifierFilter12GetTypeNamesEv @ 85 NONAME - _ZNK22CCaInnerNotifierFilter15GetNotifierTypeEv @ 86 NONAME - _ZNK22CCaInnerNotifierFilter6GetIdsEv @ 87 NONAME + _ZN13CCaInnerQuery13AddAttributeLERK7TDesC16S2_ @ 21 NONAME + _ZN13CCaInnerQuery17SetEntryTypeNamesEP16CDesC16ArrayFlat @ 22 NONAME + _ZN13CCaInnerQuery4NewLEv @ 23 NONAME + _ZN13CCaInnerQuery5NewLCEv @ 24 NONAME + _ZN13CCaInnerQuery6SetUidEj @ 25 NONAME + _ZN13CCaInnerQuery7SetIdsLERK6RArrayIiE @ 26 NONAME + _ZN13CCaInnerQuery7SetRoleEi @ 27 NONAME + _ZN13CCaInnerQuery7SetSortENS_14TSortAttributeE @ 28 NONAME + _ZN13CCaInnerQuery8SetCountEj @ 29 NONAME + _ZN15RCaEntriesArray12InternalizeLER11RReadStream @ 30 NONAME + _ZN17CCaEntryAttribute4NewLERK7TDesC16 @ 31 NONAME + _ZN17CCaEntryAttribute5NewLCERK7TDesC16 @ 32 NONAME + _ZN17CCaEntryAttribute9SetValueLERK7TDesC16 @ 33 NONAME + _ZN17RCaEntryAttrArray15RemoveAttributeERK7TDesC16 @ 34 NONAME + _ZN17RCaEntryAttrArray4FindERK7TDesC16R6TDes16 @ 35 NONAME + _ZN17RCaEntryAttrArray5ExistERK7TDesC16 @ 36 NONAME + _ZN20CCaLocalizationEntry12SetStringIdLERK7TDesC16 @ 37 NONAME + _ZN20CCaLocalizationEntry13SetTableNameLERK7TDesC16 @ 38 NONAME + _ZN20CCaLocalizationEntry17SetAttributeNameLERK7TDesC16 @ 39 NONAME + _ZN20CCaLocalizationEntry19SetLocalizedStringLERK7TDesC16 @ 40 NONAME + _ZN20CCaLocalizationEntry4NewLEv @ 41 NONAME + _ZN20CCaLocalizationEntry5NewLCEv @ 42 NONAME + _ZN20CCaLocalizationEntry8SetRowIdEj @ 43 NONAME + _ZN20CCaLocalizationEntry9SetTextIdEj @ 44 NONAME + _ZN22CCaInnerNotifierFilter11SetParentIdEi @ 45 NONAME + _ZN22CCaInnerNotifierFilter12InternalizeLER11RReadStream @ 46 NONAME + _ZN22CCaInnerNotifierFilter12SetEntryRoleE10TEntryRole @ 47 NONAME + _ZN22CCaInnerNotifierFilter12SetTypeNamesEP16CDesC16ArrayFlat @ 48 NONAME + _ZN22CCaInnerNotifierFilter4NewLENS_13TNotifierTypeE @ 49 NONAME + _ZN22CCaInnerNotifierFilter5NewLCENS_13TNotifierTypeE @ 50 NONAME + _ZN22CCaInnerNotifierFilter7SetIdsLERK6RArrayIiE @ 51 NONAME + _ZN9MenuUtils8GetTUintERK7TDesC16Rj @ 52 NONAME + _ZNK11RCaIdsArray12ExternalizeLER12RWriteStream @ 53 NONAME + _ZNK11RCaIdsArray13MarshalDataLCEv @ 54 NONAME + _ZNK13CCaInnerEntry12ExternalizeLER12RWriteStream @ 55 NONAME + _ZNK13CCaInnerEntry13GetAttributesEv @ 56 NONAME + _ZNK13CCaInnerEntry14GetDescriptionEv @ 57 NONAME + _ZNK13CCaInnerEntry16GetEntryTypeNameEv @ 58 NONAME + _ZNK13CCaInnerEntry5GetIdEv @ 59 NONAME + _ZNK13CCaInnerEntry6GetUidEv @ 60 NONAME + _ZNK13CCaInnerEntry7GetIconEv @ 61 NONAME + _ZNK13CCaInnerEntry7GetRoleEv @ 62 NONAME + _ZNK13CCaInnerEntry7GetTextEv @ 63 NONAME + _ZNK13CCaInnerEntry8GetFlagsEv @ 64 NONAME + _ZNK13CCaInnerEntry9GetIconIdEv @ 65 NONAME + _ZNK13CCaInnerQuery10GetFlagsOnEv @ 66 NONAME + _ZNK13CCaInnerQuery11GetFlagsOffEv @ 67 NONAME + _ZNK13CCaInnerQuery11GetParentIdEv @ 68 NONAME + _ZNK13CCaInnerQuery12ExternalizeLER12RWriteStream @ 69 NONAME + _ZNK13CCaInnerQuery13GetAttributesEv @ 70 NONAME + _ZNK13CCaInnerQuery17GetEntryTypeNamesEv @ 71 NONAME + _ZNK13CCaInnerQuery6GetIdsEv @ 72 NONAME + _ZNK13CCaInnerQuery6GetUidEv @ 73 NONAME + _ZNK13CCaInnerQuery7GetRoleEv @ 74 NONAME + _ZNK13CCaInnerQuery7GetSortEv @ 75 NONAME + _ZNK13CCaInnerQuery8GetCountEv @ 76 NONAME + _ZNK15RCaEntriesArray12ExternalizeLER12RWriteStream @ 77 NONAME + _ZNK20CCaLocalizationEntry11GetStringIdEv @ 78 NONAME + _ZNK20CCaLocalizationEntry12GetTableNameEv @ 79 NONAME + _ZNK20CCaLocalizationEntry16GetAttributeNameEv @ 80 NONAME + _ZNK20CCaLocalizationEntry18GetLocalizedStringEv @ 81 NONAME + _ZNK20CCaLocalizationEntry8GetRowIdEv @ 82 NONAME + _ZNK20CCaLocalizationEntry9GetTextIdEv @ 83 NONAME + _ZNK22CCaInnerNotifierFilter11GetParentIdEv @ 84 NONAME + _ZNK22CCaInnerNotifierFilter12ExternalizeLER12RWriteStream @ 85 NONAME + _ZNK22CCaInnerNotifierFilter12GetEntryRoleEv @ 86 NONAME + _ZNK22CCaInnerNotifierFilter12GetTypeNamesEv @ 87 NONAME + _ZNK22CCaInnerNotifierFilter15GetNotifierTypeEv @ 88 NONAME + _ZNK22CCaInnerNotifierFilter6GetIdsEv @ 89 NONAME diff -r 9d806967057c -r 7f0462e8c3da contentstorage/extinc/cahandler.h --- a/contentstorage/extinc/cahandler.h Tue Mar 23 23:42:03 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,94 +0,0 @@ -/* - * Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "Eclipse Public License v1.0" - * which accompanies this distribution, and is available - * at the URL "http://www.eclipse.org/legal/epl-v10.html". - * - * Initial Contributors: - * Nokia Corporation - initial contribution. - * - * Contributors: - * - * Description: ?Description - * - */ - -#ifndef C_CAHANDLER_H -#define C_CAHANDLER_H - -#include - -class CCaInnerEntry; - -/** - * ?one_line_short_description - * ?more_complete_description - * - * @code - * ?good_class_usage_example(s) - * @endcode - * - * @lib ?library - * @since S60 ?S60_version *** for example, S60 v3.0 - */ -class CCaHandler: public CBase - { - -public: - - /** - * Destructor. - */ - IMPORT_C virtual ~CCaHandler(); - - /** - * Query support for item type. - * @since S60 v5.0 - * @param aType Type. - * @return ETrue if handler supports this type, EFalse otherwise. - * @capability None. - * @throws None. - * @panic None. - */ - IMPORT_C virtual TBool SupportsType( const TDesC& aType ); - - /** - * Handle command. - * @since S60 v5.0 - * @param aItem Item of supported type. - * @param aCommand Command. - * this status will be completed with the resulting error code. - * @capability None. - * @throws This implementation throws KErrNotSupported. - * @panic None. - */ - IMPORT_C virtual void HandleCommandL( CCaInnerEntry& aEntry, - const TDesC8& aCommand ); - -protected: - - /** - * Constructor. - */ - IMPORT_C CCaHandler(); - - /** - * Base constructor. - */ - IMPORT_C void BaseConstructL(); - -private: - // data - - class TData; - - /** - * Private data. - */ - TData* iData; - - }; - -#endif // C_CAHANDLER_H diff -r 9d806967057c -r 7f0462e8c3da contentstorage/extinc/cahandlerengine.h --- a/contentstorage/extinc/cahandlerengine.h Tue Mar 23 23:42:03 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,91 +0,0 @@ -/* - * Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "Eclipse Public License v1.0" - * which accompanies this distribution, and is available - * at the URL "http://www.eclipse.org/legal/epl-v10.html". - * - * Initial Contributors: - * Nokia Corporation - initial contribution. - * - * Contributors: - * - * Description: ?Description - * - */ - -#ifndef C_CAHANDLERENGINE_H -#define C_CAHANDLERENGINE_H - -#include - -class CCaHandler; -class CCaInnerEntry; - -/** - * ?one_line_short_description - * ?more_complete_description - * - * @code - * ?good_class_usage_example(s) - * @endcode - * - * @lib ?library - * @since S60 ?S60_version *** for example, S60 v3.0 - */ -NONSHARABLE_CLASS( CCaHandlerEngine ): public CBase - { - -public: - IMPORT_C static CCaHandlerEngine* NewL(); - IMPORT_C static CCaHandlerEngine* NewLC(); - - /** - * Destructor. - */ - IMPORT_C virtual ~CCaHandlerEngine(); - - /** - * ?description - * - * @since S60 ?S60_version - * @param ?arg1 ?description - * @param ?arg2 ?description - * @return ?description - */ - IMPORT_C void HandleCommandL( CCaInnerEntry& aEntry, - const TDesC8& aCommand ); - -private: - - CCaHandlerEngine(); - - void ConstructL(); - - /** - * Find loaded handler by type. - * @param aType Type. - * @return Loaded handler or NULL no handler is loaded for that type. - */ - CCaHandler* FindHandler( const TDesC& aType ); - - /** - * Load handler for given type. - * @param aType Type. - * @return Loaded handler or NULL no handler is found for that type. - */ - CCaHandler* LoadHandlerL( const TDesC& aType ); - -private: - // data - - /** - * Array of Handlers. - * Contents owned. - */ - RPointerArray iHandlers; - - }; - -#endif // C_CAHANDLERENGINE_H diff -r 9d806967057c -r 7f0462e8c3da contentstorage/extinc/cahandlerplugin.h --- a/contentstorage/extinc/cahandlerplugin.h Tue Mar 23 23:42:03 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,70 +0,0 @@ -/* - * Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "Eclipse Public License v1.0" - * which accompanies this distribution, and is available - * at the URL "http://www.eclipse.org/legal/epl-v10.html". - * - * Initial Contributors: - * Nokia Corporation - initial contribution. - * - * Contributors: - * - * Description: ?Description - * - */ - -#ifndef C_CAHANDLERPLUGIN_H -#define C_CAHANDLERPLUGIN_H - -#include -#include - -#include "cahandler.h" - -/** - * ?one_line_short_description - * ?more_complete_description - * - * @code - * ?good_class_usage_example(s) - * @endcode - * - * @lib ?library - * @since S60 ?S60_version *** for example, S60 v3.0 - */ -class CCaHandlerPlugin: public CCaHandler - { - -public: - - /** - * Two-phased constructor. - * @param aImplementationUid implementation uid - * @return pointer to a newly created instance of CCaHandlerPlugin. - */ - inline static CCaHandlerPlugin* NewL( TUid aImplementationUid ); - - /** - * Constructor. - */ - inline CCaHandlerPlugin(); - - /** - * Destructor. - */ - inline virtual ~CCaHandlerPlugin(); - -private: - - /** - * Destructor ID key. - */ - TUid iDtor_ID_Key; - - }; - -#include "cahandlerplugin.inl" - -#endif // C_CAHANDLERPLUGIN_H diff -r 9d806967057c -r 7f0462e8c3da contentstorage/extinc/cahandlerplugin.hrh --- a/contentstorage/extinc/cahandlerplugin.hrh Tue Mar 23 23:42:03 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,24 +0,0 @@ -/* - * Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "Eclipse Public License v1.0" - * which accompanies this distribution, and is available - * at the URL "http://www.eclipse.org/legal/epl-v10.html". - * - * Initial Contributors: - * Nokia Corporation - initial contribution. - * - * Contributors: - * - * Description: ?Description - * - */ - -#ifndef CAHANDLERPLUGIN_HRH -#define CAHANDLERPLUGIN_HRH - -/// Definition of the CA Handler ECom plugin interface. -#define HANDLER_IF_UID 0x20022F93 - -#endif // CAHANDLERPLUGIN_HRH diff -r 9d806967057c -r 7f0462e8c3da contentstorage/extinc/cahandlerplugin.inl --- a/contentstorage/extinc/cahandlerplugin.inl Tue Mar 23 23:42:03 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,44 +0,0 @@ -/* - * Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "Eclipse Public License v1.0" - * which accompanies this distribution, and is available - * at the URL "http://www.eclipse.org/legal/epl-v10.html". - * - * Initial Contributors: - * Nokia Corporation - initial contribution. - * - * Contributors: - * - * Description: ?Description - * - */ - -// ----------------------------------------------------------------------------- -// -// ----------------------------------------------------------------------------- -// -inline CCaHandlerPlugin* CCaHandlerPlugin::NewL( TUid aImplementationUid ) - { - TAny* ptr = REComSession::CreateImplementationL( aImplementationUid, - _FOFF( CCaHandlerPlugin, iDtor_ID_Key ) ); - return reinterpret_cast ( ptr ); - } - -// ----------------------------------------------------------------------------- -// -// ----------------------------------------------------------------------------- -// -inline CCaHandlerPlugin::CCaHandlerPlugin() - { - } - -// ----------------------------------------------------------------------------- -// -// ----------------------------------------------------------------------------- -// -inline CCaHandlerPlugin::~CCaHandlerPlugin() - { - REComSession::DestroyedImplementation( iDtor_ID_Key ); - } diff -r 9d806967057c -r 7f0462e8c3da contentstorage/extsrc/cahandler.cpp --- a/contentstorage/extsrc/cahandler.cpp Tue Mar 23 23:42:03 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,71 +0,0 @@ -/* - * Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "Eclipse Public License v1.0" - * which accompanies this distribution, and is available - * at the URL "http://www.eclipse.org/legal/epl-v10.html". - * - * Initial Contributors: - * Nokia Corporation - initial contribution. - * - * Contributors: - * - * Description: ?Description - * - */ - -#include "cahandler.h" - -// ======== MEMBER FUNCTIONS ======== - -NONSHARABLE_CLASS( CCaHandler::TData ) - { - // Future-proofing only. - }; - -// ======== MEMBER FUNCTIONS ======== - -// --------------------------------------------------------- -// -// --------------------------------------------------------- -// -EXPORT_C CCaHandler::~CCaHandler() - { - } - -// --------------------------------------------------------- -// -// --------------------------------------------------------- -// -EXPORT_C CCaHandler::CCaHandler() - { - } - -// --------------------------------------------------------- -// -// --------------------------------------------------------- -// -EXPORT_C void CCaHandler::BaseConstructL() - { - // Future-proofing only. - } - -// --------------------------------------------------------- -// -// --------------------------------------------------------- -// -EXPORT_C TBool CCaHandler::SupportsType( const TDesC& /*aType*/) - { - return EFalse; - } - -// --------------------------------------------------------- -// -// --------------------------------------------------------- -// -EXPORT_C void CCaHandler::HandleCommandL( CCaInnerEntry& /*aEntry*/, - const TDesC8& /*aCommand*/) - { - User::Leave( KErrNotSupported ); - } diff -r 9d806967057c -r 7f0462e8c3da contentstorage/extsrc/cahandlerengine.cpp --- a/contentstorage/extsrc/cahandlerengine.cpp Tue Mar 23 23:42:03 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,179 +0,0 @@ -/* - * Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "Eclipse Public License v1.0" - * which accompanies this distribution, and is available - * at the URL "http://www.eclipse.org/legal/epl-v10.html". - * - * Initial Contributors: - * Nokia Corporation - initial contribution. - * - * Contributors: - * - * Description: ?Description - * - */ - -#include "cahandlerengine.h" -#include "cahandler.h" -#include "cahandlerplugin.h" -#include "cahandlerplugin.hrh" -#include "cadef.h" -#include "cainnerentry.h" - -// ======== LOCAL FUNCTIONS ======== - -// --------------------------------------------------------------------------- -// Cleanupstack support method, calls RImplInfoPtrArray::ResetAndDestroy() -// of the passed argument (array). -// --------------------------------------------------------------------------- -// -LOCAL_C void ResetAndDestroyArray( TAny* aArray ) - { - ( (RImplInfoPtrArray* ) aArray )->ResetAndDestroy(); - } - -// ======== MEMBER FUNCTIONS ======== - -// --------------------------------------------------------- -// -// --------------------------------------------------------- -// -EXPORT_C CCaHandlerEngine::~CCaHandlerEngine() - { - iHandlers.ResetAndDestroy(); - } - -// --------------------------------------------------------- -// -// --------------------------------------------------------- -// -EXPORT_C CCaHandlerEngine* CCaHandlerEngine::NewL() - { - CCaHandlerEngine* self = NewLC(); - CleanupStack::Pop( self ); - return self; - } - -// --------------------------------------------------------- -// -// --------------------------------------------------------- -// -EXPORT_C CCaHandlerEngine* CCaHandlerEngine::NewLC() - { - CCaHandlerEngine* self = new ( ELeave ) CCaHandlerEngine(); - CleanupStack::PushL( self ); - self->ConstructL(); - return self; - } - -// --------------------------------------------------------- -// -// --------------------------------------------------------- -// -void CCaHandlerEngine::ConstructL() - { - } - -// --------------------------------------------------------- -// -// --------------------------------------------------------- -// -CCaHandlerEngine::CCaHandlerEngine() - { - } - -// --------------------------------------------------------- -// -// --------------------------------------------------------- -// -EXPORT_C void CCaHandlerEngine::HandleCommandL( CCaInnerEntry& aEntry, - const TDesC8& aCommand ) - { - // Currently, we load handlers on demand and never unload them. - // As there aren't many types of items, this seems appropriate. - CCaHandler* handler = FindHandler( aEntry.GetEntryTypeName() ); - if( !handler ) - { - //TODO: need to change this - if( aEntry.GetEntryTypeName() == KCaTypeApp() - || aEntry.GetEntryTypeName() == KCaTypeWidget() ) - { - handler = LoadHandlerL( KCaTypeApp() ); - } - else - { - handler = LoadHandlerL( aEntry.GetEntryTypeName() ); - } - } - if( handler ) - { - handler->HandleCommandL( aEntry, aCommand ); - } - else - { - User::Leave( KErrNotFound ); - } - } - -// --------------------------------------------------------- -// -// --------------------------------------------------------- -// -CCaHandler* CCaHandlerEngine::FindHandler( const TDesC& aType ) - { - for( TInt i = 0; i < iHandlers.Count(); i++ ) - { - CCaHandler* handler = iHandlers[i]; - if( handler->SupportsType( aType ) ) - { - return handler; - } - } - return NULL; - } - -// --------------------------------------------------------- -// -// --------------------------------------------------------- -// -CCaHandler* CCaHandlerEngine::LoadHandlerL( const TDesC& aType ) - { - CCaHandlerPlugin* handler = NULL; - TBuf8 type; - type.Copy( aType ); - TEComResolverParams resolverParams; - resolverParams.SetDataType( type ); - RImplInfoPtrArray implInfoArray; - CleanupStack::PushL( - TCleanupItem( ResetAndDestroyArray, &implInfoArray ) ); - REComSession::ListImplementationsL( TUid::Uid( HANDLER_IF_UID ), - resolverParams, implInfoArray ); - - __ASSERT_DEBUG( implInfoArray.Count() <= 1, User::Invariant() ); - - if( implInfoArray.Count() != 0 ) - { - TUid implUid = implInfoArray[0]->ImplementationUid(); - handler = CCaHandlerPlugin::NewL( implUid ); - CleanupStack::PushL( handler ); - // Here we check if this is the handler we need. Currently we only do - // a sanity check for the handler (it should support the registered - // types!), but later this can be extended with better support query. - // E.g. support for type AND command, etc. - if( handler->SupportsType( aType ) ) - { - iHandlers.AppendL( handler ); - CleanupStack::Pop( handler ); - } - else - { - CleanupStack::PopAndDestroy( handler ); - handler = NULL; - } - } - - CleanupStack::PopAndDestroy( &implInfoArray ); - return handler; - } diff -r 9d806967057c -r 7f0462e8c3da contentstorage/extsrc/caiconutility.cpp --- a/contentstorage/extsrc/caiconutility.cpp Tue Mar 23 23:42:03 2010 +0200 +++ b/contentstorage/extsrc/caiconutility.cpp Tue Mar 23 23:55:55 2010 +0200 @@ -28,35 +28,9 @@ #include "camenuiconutility.h" #include "caarraycleanup.inl" #include "casathandler.h" -// Constants -_LIT( KMifIconPath, "\\resource\\apps\\" ); -const TUint32 KMifIconPathLenght = 18; // ================= LOCAL FUNCTIONS ======================== - -// --------------------------------------------------------- -// ParseIconFilePathL -// --------------------------------------------------------- -// - -LOCAL_C void ParseIconFilePathL( const TDesC& aIconFilePath, - RBuf& aIconFilePathBuf ) - { - TParsePtrC fileParsePtrC( aIconFilePath ); - if( !fileParsePtrC.PathPresent() ) - { - aIconFilePathBuf.CreateL( KMifIconPathLenght - + aIconFilePath.Length() ); - aIconFilePathBuf.Append( KMifIconPath ); - } - else - { - aIconFilePathBuf.CreateL( aIconFilePath.Length() ); - } - aIconFilePathBuf.Append( aIconFilePath ); - } - // --------------------------------------------------------- // LoadSkinL // --------------------------------------------------------- @@ -119,32 +93,6 @@ return icon; } -// --------------------------------------------------------- -// GetIconL -// --------------------------------------------------------- -// -LOCAL_C CAknIcon* GetIconL( TFileName aFilename, int aBitmapId, int aMaskId ) - { - CAknIcon* icon = NULL; - if( aFilename.Length() > 0 && aBitmapId >= 0 && aMaskId >= 0 ) - { - CFbsBitmap* bitmap( 0 ); - CFbsBitmap* mask( 0 ); - - RBuf pathBuf; - pathBuf.CleanupClosePushL(); - ParseIconFilePathL( aFilename, pathBuf ); - - AknIconUtils::CreateIconLC( bitmap, mask, pathBuf, aBitmapId, - aMaskId ); - icon = CAknIcon::NewL(); - icon->SetBitmap( bitmap ); - icon->SetMask( mask ); - CleanupStack::Pop( 2 ); - CleanupStack::PopAndDestroy( &pathBuf ); - } - return icon; - } // --------------------------------------------------------- // GetDefaultSkinL @@ -191,6 +139,20 @@ icon = GetSkinL( KAknsIIDQgnIndiBrowserTbFeeds.iMajor, KAknsIIDQgnIndiBrowserTbFeeds.iMinor ); } + else if( aItem.GetEntryTypeName().Compare( KCaTypeTemplatedApp ) == KErrNone ) + { + TInt uid; + TLex lex (aItem.GetIcon().iApplicationId); + lex.Val(uid); + TUid appUid( TUid::Uid( uid ) ); + icon = GetAppSkinL( appUid ); + if( !icon ) + { + icon = GetSkinL( KAknsIIDQgnMenuUnknownLst.iMajor, + KAknsIIDQgnMenuUnknownLst.iMinor ); + } + } + return icon; } @@ -205,20 +167,6 @@ { CAknIcon* icon = NULL; CCaInnerEntry::TIconAttributes iconAttributes( aEntry.GetIcon() ); - // Try to get the skin of the item - TRAP_IGNORE(icon = GetSkinL( iconAttributes.iSkinMajorId, - iconAttributes.iSkinMinorId ) ); - if( !icon ) - { - // Try to get the icon of the item (skin failed) - TRAP_IGNORE( icon = GetIconL( iconAttributes.iFileName, - iconAttributes.iBitmapId, - iconAttributes.iMaskId ) ); - if( !icon ) - { - // Return a default (skin and icon failed) - TRAP_IGNORE( icon = GetDefaultSkinL( aEntry ) ); - } - } + TRAP_IGNORE( icon = GetDefaultSkinL( aEntry ) ); return icon; } diff -r 9d806967057c -r 7f0462e8c3da contentstorage/group/caextendedmenu.mmp --- a/contentstorage/group/caextendedmenu.mmp Tue Mar 23 23:42:03 2010 +0200 +++ b/contentstorage/group/caextendedmenu.mmp Tue Mar 23 23:55:55 2010 +0200 @@ -25,8 +25,6 @@ VENDORID VID_DEFAULT SOURCEPATH ../extsrc -SOURCE cahandler.cpp -SOURCE cahandlerengine.cpp SOURCE caiconutility.cpp USERINCLUDE ../inc diff -r 9d806967057c -r 7f0462e8c3da contentstorage/group/camenu.mmp --- a/contentstorage/group/camenu.mmp Tue Mar 23 23:42:03 2010 +0200 +++ b/contentstorage/group/camenu.mmp Tue Mar 23 23:55:55 2010 +0200 @@ -12,7 +12,7 @@ * Contributors: * * Description: -* Version : %version: 19.1.2 % << Don't touch! Updated by Synergy at check-out. +* Version : %version: 19.1.3 % << Don't touch! Updated by Synergy at check-out. * */ diff -r 9d806967057c -r 7f0462e8c3da contentstorage/group/castockhandlerplugins.mmp --- a/contentstorage/group/castockhandlerplugins.mmp Tue Mar 23 23:42:03 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,65 +0,0 @@ -/* -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "Eclipse Public License v1.0" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: Project definition file for project castockhandlerplugins -* -*/ - - -// To get the MW_LAYER_SYSTEMINCLUDE-definition -#include - -TARGET castockhandlerplugins.dll -TARGETTYPE PLUGIN -UID 0x10009D8D 0x20022F82 - -CAPABILITY CAP_ECOM_PLUGIN -VENDORID VID_DEFAULT - -SOURCEPATH ../handlersrc - -SOURCE castockhandlersproxy.cpp -SOURCE caapphandlerplugin.cpp -SOURCE cauninstalloperation.cpp -SOURCE caurlhandlerplugin.cpp - -USERINCLUDE ../inc -USERINCLUDE ../handlerinc -USERINCLUDE ../cautils/inc -USERINCLUDE ../extinc - -MW_LAYER_SYSTEMINCLUDE - -//TODO: check which ones are really needed -LIBRARY euser.lib -LIBRARY ecom.lib -LIBRARY swinstcli.lib -LIBRARY camenu.lib -LIBRARY cautils.lib -LIBRARY apgrfx.lib -LIBRARY ws32.lib - -LIBRARY apparc.lib -LIBRARY sisregistryclient.lib -LIBRARY eikcore.lib -LIBRARY cone.lib -LIBRARY efsrv.lib -LIBRARY avkon.lib -LIBRARY caextendedmenu.lib - -SOURCEPATH ../data -START RESOURCE 20022F82.rss -LANG sc -TARGET castockhandlerplugins.rsc -END // RESOURCE - diff -r 9d806967057c -r 7f0462e8c3da contentstorage/group/group.pro --- a/contentstorage/group/group.pro Tue Mar 23 23:42:03 2010 +0200 +++ b/contentstorage/group/group.pro Tue Mar 23 23:55:55 2010 +0200 @@ -32,7 +32,6 @@ "camenu.mmp" \ "camenusrv.mmp" \ "caextendedmenu.mmp" \ - "castockhandlerplugins.mmp" \ "../casrv/caappscanner/group/caappscanner.mmp" \ "../casrv/casatmonitor/group/casatmonitor.mmp" \ "../casrv/cawidgetscanner/group/cawidgetscanner.mmp" \ diff -r 9d806967057c -r 7f0462e8c3da contentstorage/handlerinc/caapphandlerplugin.h --- a/contentstorage/handlerinc/caapphandlerplugin.h Tue Mar 23 23:42:03 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,92 +0,0 @@ -/* - * Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "Eclipse Public License v1.0" - * which accompanies this distribution, and is available - * at the URL "http://www.eclipse.org/legal/epl-v10.html". - * - * Initial Contributors: - * Nokia Corporation - initial contribution. - * - * Contributors: - * - * Description: ?Description - * - */ - -#ifndef C_CAAPPHANDLERPLUGIN_H -#define C_CAAPPHANDLERPLUGIN_H - -#include - -#include "cahandlerplugin.h" - -class CEikonEnv; -class CCaUninstallOperation; - -/** - * ?one_line_short_description - * ?more_complete_description - * - * @code - * ?good_class_usage_example(s) - * @endcode - * - * @lib ?library - * @since S60 ?S60_version *** for example, S60 v3.0 - */ -NONSHARABLE_CLASS( CCaAppHandlerPlugin ): public CCaHandlerPlugin - { - -public: - - static CCaAppHandlerPlugin* NewL(); - - /** - * Destructor. - */ - virtual ~CCaAppHandlerPlugin(); - -protected: - - CCaAppHandlerPlugin(); - - void ConstructL(); - -public: - - // from CCaHandlerPlugin - - /** - * Query support for item type. - * @param aType Type. - * @return ETrue if handler supports this type, EFalse otherwise. - */ - TBool SupportsType( const TDesC& aType ); - - /** - * Handle command. - * @param aItem Item of supported type. - * @param aCommand Command. - * @param aParams. Command parameters. - * @param aStatus Observer request status. When the operation completes, - * this status will be completed with the resulting error code. - * @return Asynchronous operation. Owned by the caller. - */ - void HandleCommandL( CCaInnerEntry& aEntry, const TDesC8& aCommand ); - -private: - - void LaunchApplicationL( const TUid aUid, const TDesC8 &aParam, - TInt aViewId ); - void CloseApplicationL( CCaInnerEntry& aEntry ); - -private: - // data - - CEikonEnv* iEikEnv; - CCaUninstallOperation* iUninstallOperation; - }; - -#endif // C_CAAPPHANDLERPLUGIN_H diff -r 9d806967057c -r 7f0462e8c3da contentstorage/handlerinc/cauninstalloperation.h --- a/contentstorage/handlerinc/cauninstalloperation.h Tue Mar 23 23:42:03 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,65 +0,0 @@ -/* - * Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "Eclipse Public License v1.0" - * which accompanies this distribution, and is available - * at the URL "http://www.eclipse.org/legal/epl-v10.html". - * - * Initial Contributors: - * Nokia Corporation - initial contribution. - * - * Contributors: - * - * Description: ?Description - * - */ - -#ifndef C_CAUNINSTALLOPERATION_H -#define C_CAUNINSTALLOPERATION_H - -#include -#include - -/** - * Uninstall CMenuOperation - * Encapsulates the functionality of uninstalling an application. - */ -NONSHARABLE_CLASS( CCaUninstallOperation ): public CActive - { - -public: - // construction - - virtual ~CCaUninstallOperation(); - - static CCaUninstallOperation* NewL( CCaInnerEntry &aEntry, - TInt aPriority = CActive::EPriorityStandard ); - -private: - // construction - - CCaUninstallOperation( CCaInnerEntry &aEntry, TInt aPriority ); - - void ConstructL( CCaInnerEntry &aEntry ); - - void AppInfoL( const TUid& aAppUid, TPtrC8& aMimeType, - TUid& aPackageUid ); - - TBool GetInstallPkgUidL( const TDesC& aAppFullName, TUid& aPackageUid ); - -private: - // from CActive - - void RunL(); - void DoCancel(); - TInt RunError( TInt aError ); - -private: - - CCaInnerEntry& iEntry; - SwiUI::RSWInstLauncher iUninstaller; - TInt iId; - }; - -#endif // C_CAUNINSTALLOPERATION_H diff -r 9d806967057c -r 7f0462e8c3da contentstorage/handlerinc/caurlhandlerplugin.h --- a/contentstorage/handlerinc/caurlhandlerplugin.h Tue Mar 23 23:42:03 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,93 +0,0 @@ -/* - * Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "Eclipse Public License v1.0" - * which accompanies this distribution, and is available - * at the URL "http://www.eclipse.org/legal/epl-v10.html". - * - * Initial Contributors: - * Nokia Corporation - initial contribution. - * - * Contributors: - * - * Description: ?Description - * - */ - -#ifndef __CCAURLHANDLERPLUGIN_H__ -#define __CCAURLHANDLERPLUGIN_H__ - -#include "cahandlerplugin.h" - -#include - -// Constants -const TUid KUidBrowser = - { - 0x10008D39 - }; -_LIT( KBrowserPrefix, "4 " ); - -/** - * Handler for entries with typenme "url". - */ -NONSHARABLE_CLASS( CCaUrlHandlerPlugin ): public CCaHandlerPlugin - { - -public: - // construction - - /** - * Destructor. - */ - virtual ~CCaUrlHandlerPlugin(); - - /** - * Two-phased constructor. Leaves on failure. - * @return The constructed object. - */ - static CCaUrlHandlerPlugin* NewL(); - -protected: - // construction - - /** - * Constructor. - * @param aMenu Menu. - */ - CCaUrlHandlerPlugin(); - - /** - * Second-phase constructor. - */ - void ConstructL(); - -public: - - /** - * Query support for item type. - * @param aType Type. - * @return ETrue if handler supports this type, EFalse otherwise. - */ - TBool SupportsType( const TDesC& aType ); - - /** - * Handle command. - * @param aEntry The url entry to be processed. - * @param aCommand Command. - */ - void HandleCommandL( CCaInnerEntry& aEntry, const TDesC8& aCommand ); - -private: - // internal - - /** - * Launches the url. - * @param aUrl The url to be launched. - */ - void LaunchUrlL( const TDesC& aUrl ); - - }; - -#endif // __CCAURLHANDLERPLUGIN_H__ diff -r 9d806967057c -r 7f0462e8c3da contentstorage/handlersrc/caapphandlerplugin.cpp --- a/contentstorage/handlersrc/caapphandlerplugin.cpp Tue Mar 23 23:42:03 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,233 +0,0 @@ -/* - * Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "Eclipse Public License v1.0" - * which accompanies this distribution, and is available - * at the URL "http://www.eclipse.org/legal/epl-v10.html". - * - * Initial Contributors: - * Nokia Corporation - initial contribution. - * - * Contributors: - * - * Description: ?Description - * - */ - -#include -#include -#include -#include -#include -#include -#include -#include - -#include "caapphandlerplugin.h" -#include "cainnerentry.h" -#include "cauninstalloperation.h" - -#include "cautils.h" -#include "cadef.h" - -// ======== MEMBER FUNCTIONS ======== - -// --------------------------------------------------------------------------- -// -// --------------------------------------------------------------------------- -// -CCaAppHandlerPlugin::~CCaAppHandlerPlugin() - { - delete iUninstallOperation; - } - -// --------------------------------------------------------------------------- -// -// --------------------------------------------------------------------------- -// -CCaAppHandlerPlugin* CCaAppHandlerPlugin::NewL() - { - CCaAppHandlerPlugin* handler = new ( ELeave ) CCaAppHandlerPlugin(); - CleanupStack::PushL( handler ); - handler->ConstructL(); - CleanupStack::Pop( handler ); - return handler; - } - -// --------------------------------------------------------- -// CCaAppHandlerPlugin::CCaAppHandlerPlugin -// --------------------------------------------------------- -// -CCaAppHandlerPlugin::CCaAppHandlerPlugin() - { - iEikEnv = CEikonEnv::Static(); - iUninstallOperation = NULL; - } - -// --------------------------------------------------------------------------- -// -// --------------------------------------------------------------------------- -// -void CCaAppHandlerPlugin::ConstructL() - { - BaseConstructL(); - } - -// --------------------------------------------------------------------------- -// -// --------------------------------------------------------------------------- -// -TBool CCaAppHandlerPlugin::SupportsType( const TDesC& aType ) - { - if( !aType.Compare( KCaTypeApp() ) || !aType.Compare( KCaTypeWidget() ) ) - { - return ETrue; - } - return EFalse; - } - -// --------------------------------------------------------------------------- -// -// --------------------------------------------------------------------------- -// -void CCaAppHandlerPlugin::HandleCommandL( CCaInnerEntry& aEntry, - const TDesC8& aCommand ) - { - if( aCommand == KCaCmdOpen() && aEntry.GetEntryTypeName() - == KCaTypeApp() ) - { - TInt viewId( -1 ); - TBuf viewIdValue; - if( aEntry.FindAttribute( KCaAttrView(), viewIdValue ) ) - { - if( MenuUtils::GetTUint( viewIdValue, (TUint& ) viewId ) - != KErrNone ) - { - User::Leave( KErrCorrupt ); - } - } - LaunchApplicationL( TUid::Uid( aEntry.GetUid() ), KNullDesC8(), - viewId ); - } - else if( aCommand == KCaCmdClose() && aEntry.GetEntryTypeName() - == KCaTypeApp() ) - { - CloseApplicationL( aEntry ); - } - else if( aCommand == KCaCmdRemove() - && ( aEntry.GetEntryTypeName() == KCaTypeApp() - || aEntry.GetEntryTypeName() == KCaTypeWidget() ) ) - { - if( iUninstallOperation && iUninstallOperation->IsActive() ) - { - User::Leave( KErrInUse ); - } - delete iUninstallOperation; - iUninstallOperation = NULL; - iUninstallOperation = CCaUninstallOperation::NewL( aEntry ); - } - else - { - User::Leave( KErrNotSupported ); - } - } - -// --------------------------------------------------------------------------- -// -// --------------------------------------------------------------------------- -// -void CCaAppHandlerPlugin::LaunchApplicationL( const TUid aUid, - const TDesC8 &aParam, TInt aViewId ) - { - if( aViewId > 0 && iEikEnv ) - { - TUid viewId = TUid::Uid( aViewId ); - TVwsViewId view( aUid, viewId ); - iEikEnv->EikAppUi()->ActivateViewL( view ); - } - else - { - RWsSession wsSession; - User::LeaveIfError( wsSession.Connect() ); - CleanupClosePushL ( wsSession ); - - CAknTaskList* taskList = CAknTaskList::NewL( wsSession ); - TApaTask task = taskList->FindRootApp( aUid ); - delete taskList; - - if( task.Exists() ) - { - task.BringToForeground(); - } - else - { - TApaAppInfo appInfo; - TApaAppCapabilityBuf capabilityBuf; - RApaLsSession appArcSession; - User::LeaveIfError( appArcSession.Connect() ); - CleanupClosePushL ( appArcSession ); - - User::LeaveIfError( appArcSession.GetAppInfo( appInfo, aUid ) ); - User::LeaveIfError( appArcSession.GetAppCapability( - capabilityBuf, aUid ) ); - - TApaAppCapability& caps = capabilityBuf(); - TFileName appName = appInfo.iFullName; - CApaCommandLine* cmdLine = CApaCommandLine::NewLC(); - cmdLine->SetExecutableNameL( appName ); - - if( caps.iLaunchInBackground ) - { - cmdLine->SetCommandL( EApaCommandBackground ); - } - else - { - cmdLine->SetCommandL( EApaCommandRun ); - } - - cmdLine->SetTailEndL( aParam ); - - User::LeaveIfError( appArcSession.StartApp( *cmdLine ) ); - - CleanupStack::PopAndDestroy( cmdLine ); - CleanupStack::PopAndDestroy( &appArcSession ); - } - CleanupStack::PopAndDestroy( &wsSession ); - } - } - -// --------------------------------------------------------------------------- -// -// --------------------------------------------------------------------------- -// -void CCaAppHandlerPlugin::CloseApplicationL( CCaInnerEntry& aEntry ) - { - RWsSession wsSession; - User::LeaveIfError( wsSession.Connect() ); - CleanupClosePushL ( wsSession ); - - if( ( aEntry.GetFlags() & ERunning ) && - ( !( aEntry.GetFlags() & ESystem ) ) ) - { - RBuf value; - CleanupClosePushL( value ); - value.CreateL( KCaMaxAttrValueLen ); - if( aEntry.FindAttribute( KCaAttrWindowGroupId, value )) - { - TInt wgId( KErrNotFound ); - TLex16 parser(value); - if ( KErrNone == parser.Val( wgId ) && wgId > 0 ) - { - TWsEvent event; - event.SetTimeNow(); - event.SetType( KAknShutOrHideApp ); - wsSession.SendEventToWindowGroup( wgId, event ); - } - } - CleanupStack::PopAndDestroy( &value ); - } - - CleanupStack::PopAndDestroy( &wsSession ); - } - diff -r 9d806967057c -r 7f0462e8c3da contentstorage/handlersrc/castockhandlersproxy.cpp --- a/contentstorage/handlersrc/castockhandlersproxy.cpp Tue Mar 23 23:42:03 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,61 +0,0 @@ -/* - * Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "Eclipse Public License v1.0" - * which accompanies this distribution, and is available - * at the URL "http://www.eclipse.org/legal/epl-v10.html". - * - * Initial Contributors: - * Nokia Corporation - initial contribution. - * - * Contributors: - * - * Description: ?Description - * - */ - -#include -#include -#include "caapphandlerplugin.h" -#include "caurlhandlerplugin.h" - -// ======== LOCAL FUNCTIONS ======== - -// --------------------------------------------------------------------------- -// -// --------------------------------------------------------------------------- -// -LOCAL_C CCaHandlerPlugin* AppHandlerNewL() - { - return CCaAppHandlerPlugin::NewL(); - } - -// --------------------------------------------------------------------------- -// -// --------------------------------------------------------------------------- -// -LOCAL_C CCaHandlerPlugin* UrlHandlerNewL() - { - return CCaUrlHandlerPlugin::NewL(); - } - -// ======== GLOBAL FUNCTIONS ======== - -const TImplementationProxy ImplementationTable[] = - { - IMPLEMENTATION_PROXY_ENTRY( 0x20022F83, AppHandlerNewL ), - IMPLEMENTATION_PROXY_ENTRY( 0x20022F85, UrlHandlerNewL ), - }; - -// --------------------------------------------------------------------------- -// -// --------------------------------------------------------------------------- -// -EXPORT_C const TImplementationProxy* ImplementationGroupProxy( - TInt& aTableCount ) - { - aTableCount = sizeof( ImplementationTable ) - / sizeof(TImplementationProxy); - return ImplementationTable; - } diff -r 9d806967057c -r 7f0462e8c3da contentstorage/handlersrc/cauninstalloperation.cpp --- a/contentstorage/handlersrc/cauninstalloperation.cpp Tue Mar 23 23:42:03 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,213 +0,0 @@ -/* - * Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "Eclipse Public License v1.0" - * which accompanies this distribution, and is available - * at the URL "http://www.eclipse.org/legal/epl-v10.html". - * - * Initial Contributors: - * Nokia Corporation - initial contribution. - * - * Contributors: - * - * Description: ?Description - * - */ - -#include -#include -#include -#include "cautils.h" -#include "cadef.h" -#include "cainnerentry.h" -#include "cauninstalloperation.h" -_LIT8( KAppMimeType, "x-epoc/x-sisx-app" ); - -// ================= MEMBER FUNCTIONS ======================= - -// --------------------------------------------------------------------------- -// CCaUninstallOperation::~CCaUninstallOperation -// --------------------------------------------------------------------------- -// -CCaUninstallOperation::~CCaUninstallOperation() - { - Cancel(); - iUninstaller.Close(); - } - -// --------------------------------------------------------------------------- -// CCaUninstallOperation::NewL -// --------------------------------------------------------------------------- -// -CCaUninstallOperation* CCaUninstallOperation::NewL( CCaInnerEntry &aEntry, - TInt aPriority ) - { - CCaUninstallOperation* self; - - self = new ( ELeave ) CCaUninstallOperation( aEntry, aPriority ); - CleanupStack::PushL( self ); - self->ConstructL( aEntry ); - CleanupStack::Pop( self ); - return self; - } - -// --------------------------------------------------------------------------- -// CCaUninstallOperation::CCaUninstallOperation -// --------------------------------------------------------------------------- -// -CCaUninstallOperation::CCaUninstallOperation( CCaInnerEntry& aEntry, - TInt aPriority ) : - CActive( aPriority ), iEntry( aEntry ), iUninstaller(), iId( 0 ) - { - CActiveScheduler::Add( this ); - } - -// --------------------------------------------------------------------------- -// CCaUninstallOperation::ConstructL -// --------------------------------------------------------------------------- -// -void CCaUninstallOperation::ConstructL( CCaInnerEntry& aEntry ) - { - TBuf uidAttr; - TUint uid = aEntry.GetUid(); - - TUid packageUid = KNullUid; - TPtrC8 mimeType; - - if( !( aEntry.GetFlags() & ERemovable ) ) - { - User::Leave( KErrAccessDenied ); - } - - User::LeaveIfError( iUninstaller.Connect() ); - iId = aEntry.GetId(); - if( aEntry.GetEntryTypeName() == KCaTypeWidget() ) - { - TBuf uidDesc; - aEntry.FindAttribute( KCaPackageUid, uidDesc ); - TLex uidLex(uidDesc); - TUint32 uidValue; - User::LeaveIfError( uidLex.Val( uidValue, EHex )); - - packageUid.iUid = static_cast(uidValue); - mimeType.Set( KAppMimeType ); - } - else - { - AppInfoL( TUid::Uid( uid ), mimeType, packageUid ); - } - - // Commence the uninstallations - iUninstaller.Uninstall( iStatus, packageUid, mimeType ); - SetActive(); - } - -// --------------------------------------------------------------------------- -// CCaUninstallOperation::AppInfo -// --------------------------------------------------------------------------- -// -void CCaUninstallOperation::AppInfoL( const TUid& aAppUid, - TPtrC8& aMimeType, TUid& aPackageUid ) - { - RApaLsSession apaLsSession; - - User::LeaveIfError( apaLsSession.Connect() ); - CleanupClosePushL( apaLsSession ); - User::LeaveIfError( apaLsSession.GetAllApps() ); - - TApaAppInfo appInfo; - User::LeaveIfError( apaLsSession.GetAppInfo( appInfo, aAppUid ) ); - if( !GetInstallPkgUidL( appInfo.iFullName, aPackageUid ) ) - { - aPackageUid = aAppUid; - } - aMimeType.Set( KAppMimeType ); - - CleanupStack::PopAndDestroy( &apaLsSession ); - } - -// --------------------------------------------------------------------------- -// CCaUninstallOperation::GetInstallPkgUidL -// --------------------------------------------------------------------------- -// -TBool CCaUninstallOperation::GetInstallPkgUidL( const TDesC& aAppFullName, - TUid& aPackageUid ) - { - // Search for the full name of the application amongst every file name in - // every installed packages. - TBool found = EFalse; - Swi::RSisRegistrySession iSisRegSession; - - // Get the array of ids of every installed packages - if( KErrNone != iSisRegSession.Connect() ) - { - return found; - } - CleanupClosePushL( iSisRegSession ); - - RArray packageIds; - CleanupClosePushL( packageIds ); - - iSisRegSession.InstalledUidsL( packageIds ); - - RPointerArray packageFiles; - CleanupClosePushL( packageFiles ); - - for( TInt i = 0; i < packageIds.Count() && !found; ++i ) - { - const TUid packageId = packageIds[i]; - Swi::RSisRegistryEntry packageEntry; - - // Get the array of file names in the current install package and look - // if there is one suggesting that the application was installed from - // the package. - if( KErrNone == packageEntry.Open( iSisRegSession, packageId ) ) - { - CleanupClosePushL( packageEntry ); - packageEntry.FilesL( packageFiles ); - for( TInt pf = 0; pf < packageFiles.Count() && !found; ++pf ) - { - if( packageFiles[pf]->FindC( aAppFullName ) == 0 ) - { - aPackageUid = packageId; - found = ETrue; - } - } - packageFiles.ResetAndDestroy(); - CleanupStack::PopAndDestroy( &packageEntry ); - } - } - - CleanupStack::PopAndDestroy( &packageFiles ); - CleanupStack::PopAndDestroy( &packageIds ); - CleanupStack::PopAndDestroy( &iSisRegSession ); - - return found; - } - -// --------------------------------------------------------------------------- -// CCaUninstallOperation::RunL -// --------------------------------------------------------------------------- -// -void CCaUninstallOperation::RunL() - { - } - -// --------------------------------------------------------------------------- -// CCaUninstallOperation::DoCancel -// --------------------------------------------------------------------------- -// -void CCaUninstallOperation::DoCancel() - { - iUninstaller.CancelAsyncRequest( SwiUI::ERequestUninstall ); - } - -// --------------------------------------------------------------------------- -// CCaUninstallOperation::RunError -// --------------------------------------------------------------------------- -// -TInt CCaUninstallOperation::RunError( TInt /* aError */) - { - return KErrNone; - } diff -r 9d806967057c -r 7f0462e8c3da contentstorage/handlersrc/caurlhandlerplugin.cpp --- a/contentstorage/handlersrc/caurlhandlerplugin.cpp Tue Mar 23 23:42:03 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,159 +0,0 @@ -/* - * Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "Eclipse Public License v1.0" - * which accompanies this distribution, and is available - * at the URL "http://www.eclipse.org/legal/epl-v10.html". - * - * Initial Contributors: - * Nokia Corporation - initial contribution. - * - * Contributors: - * - * Description: ?Description - * - */ - -#include -#include -#include -#include - -#include "caurlhandlerplugin.h" -#include "cadef.h" -#include "cainnerentry.h" - -// ================= MEMBER FUNCTIONS ======================= - -// -------------------------------------------------------------------------- -// CCaUrlHandlerPlugin::~CCaUrlHandlerPlugin -// -------------------------------------------------------------------------- -// -CCaUrlHandlerPlugin::~CCaUrlHandlerPlugin() - { - } - -// -------------------------------------------------------------------------- -// CCaUrlHandlerPlugin::NewL -// -------------------------------------------------------------------------- -// -CCaUrlHandlerPlugin* CCaUrlHandlerPlugin::NewL() - { - CCaUrlHandlerPlugin* handler = new ( ELeave ) CCaUrlHandlerPlugin(); - CleanupStack::PushL( handler ); - handler->ConstructL(); - CleanupStack::Pop( handler ); - return handler; - } - -// -------------------------------------------------------------------------- -// CCaUrlHandlerPlugin::CCaUrlHandlerPlugin -// -------------------------------------------------------------------------- -// -CCaUrlHandlerPlugin::CCaUrlHandlerPlugin() - { - } - -// -------------------------------------------------------------------------- -// CCaUrlHandlerPlugin::ConstructL -// -------------------------------------------------------------------------- -// -void CCaUrlHandlerPlugin::ConstructL() - { - BaseConstructL(); - } - -// -------------------------------------------------------------------------- -// CCaUrlHandlerPlugin::SupportsType -// -------------------------------------------------------------------------- -// -TBool CCaUrlHandlerPlugin::SupportsType( const TDesC& aType ) - { - if( !aType.Compare( KCaTypeUrl() ) ) - { - return ETrue; - } - - return EFalse; - } - -// -------------------------------------------------------------------------- -// CCaUrlHandlerPlugin::HandleCommandL -// -------------------------------------------------------------------------- -// -void CCaUrlHandlerPlugin::HandleCommandL( CCaInnerEntry& aEntry, - const TDesC8& aCommand ) - { - - if( !aCommand.Compare( KCaCmdOpen() ) ) - { - const RCaEntryAttrArray& attributes = aEntry.GetAttributes(); - TInt attributesArrayCount = attributes.Count(); - for( int i = 0; i < attributesArrayCount; ++i ) - { - const CCaEntryAttribute * const attribute = attributes[i]; - if( attribute->Name().Compare( KCaAttrUrl ) == 0 ) - { - LaunchUrlL( attribute->Value() ); - break; - } - } - } - else - { - User::Leave( KErrNotSupported ); - } - } - -// -------------------------------------------------------------------------- -// CCaUrlHandlerPlugin::LaunchUrlL -// -------------------------------------------------------------------------- -// - -void CCaUrlHandlerPlugin::LaunchUrlL( const TDesC& aUrl ) - { - // Launches browser stand-alone. - // Browser is launched with a parameter 4 ("4 http://...."), which - // Start/Continue the browser specifying a URL. - // Other available parameters are described in the Browser API Specification - // Document. - TInt length = aUrl.Length() + KBrowserPrefix.iTypeLength; - - RWsSession wsSession; - User::LeaveIfError( wsSession.Connect() ); - CleanupClosePushL ( wsSession ); - - CAknTaskList* taskList = CAknTaskList::NewL( wsSession ); - TApaTask task = taskList->FindRootApp( KUidBrowser ); - delete taskList; - - if( task.Exists() ) - { - HBufC8* param8 = HBufC8::NewLC( length ); - TPtr8 ptr8 = param8->Des(); - ptr8.Append( KBrowserPrefix ); - ptr8.Append( aUrl ); - - // Sends message to existing Browser task. - task.SendMessage( TUid::Uid( 0 ), *param8 ); // Uid is not used - CleanupStack::PopAndDestroy( param8 ); - } - else - { - HBufC* buf = HBufC::NewLC( length ); - TPtr ptr = buf->Des(); - ptr.Append( KBrowserPrefix ); - ptr.Append( aUrl ); - - RApaLsSession appArcSession; - User::LeaveIfError( appArcSession.Connect() ); - CleanupClosePushL ( appArcSession ); - TThreadId id; - appArcSession.StartDocument( *buf, KUidBrowser, id ); - CleanupStack::PopAndDestroy( &appArcSession ); - CleanupStack::PopAndDestroy( buf ); - } - - CleanupStack::PopAndDestroy( &wsSession ); - } diff -r 9d806967057c -r 7f0462e8c3da contentstorage/inc/cadef.h --- a/contentstorage/inc/cadef.h Tue Mar 23 23:42:03 2010 +0200 +++ b/contentstorage/inc/cadef.h Tue Mar 23 23:55:55 2010 +0200 @@ -12,7 +12,7 @@ * Contributors: * * Description: Definition of different constants - * Version : %version: 10.1.4 % << Don't touch! Updated by Synergy at check-out. + * Version : %version: 10.1.6 % << Don't touch! Updated by Synergy at check-out. * */ @@ -62,6 +62,7 @@ _LIT( KCaTypeCollectionDownload, "collection::downloaded" ); _LIT( KCaPackageUid,"packageuid"); _LIT( KCaAttrInstallationTime, "installationTime"); +_LIT( KCaTypeTemplatedApp, "templatedApplication" ); const TInt KGranularityOne = 1; const TInt KUidChars = 10; @@ -88,7 +89,7 @@ { 0x20022F35 }; - + const TInt KCenRepBufferSize = 255; // // Attributes commonly used for all items. diff -r 9d806967057c -r 7f0462e8c3da contentstorage/srvsrc/casrv.cpp --- a/contentstorage/srvsrc/casrv.cpp Tue Mar 23 23:42:03 2010 +0200 +++ b/contentstorage/srvsrc/casrv.cpp Tue Mar 23 23:55:55 2010 +0200 @@ -28,19 +28,6 @@ // ==================== LOCAL FUNCTIONS ==================== /** - * Stop the Active Scheduler. - * @param aPtr Not used. - * @return KErrNone. - */ -LOCAL_C TInt StopScheduler( TAny* /*aPtr*/) - { - // Called by the exit timer, after all clients disconnected (plus a small - // delay). Stop the scheduler, this will enable he thread exit. - CActiveScheduler::Stop(); - return KErrNone; - } - -/** * Create a server. * @param Pointer to created server (if created) returned here. * @return Error code. diff -r 9d806967057c -r 7f0462e8c3da homescreensrv_plat/contentstorage_api/caicondescription.h --- a/homescreensrv_plat/contentstorage_api/caicondescription.h Tue Mar 23 23:42:03 2010 +0200 +++ b/homescreensrv_plat/contentstorage_api/caicondescription.h Tue Mar 23 23:55:55 2010 +0200 @@ -42,16 +42,11 @@ QString filename() const; void setFilename(const QString &filename); - int bitmapId() const; - void setBitmapId(int id); + QString skinId() const; + void setSkinId(const QString &skinId); - int maskId() const; - void setMaskId(int id); - - int skinMajorId() const; - void setSkinMajorId(int id); - int skinMinorId() const; - void setSkinMinorId(int id); + QString applicationId() const; + void setApplicationId(const QString &applicationId); private: diff -r 9d806967057c -r 7f0462e8c3da homescreensrv_plat/contentstorage_api/caquery.h --- a/homescreensrv_plat/contentstorage_api/caquery.h Tue Mar 23 23:42:03 2010 +0200 +++ b/homescreensrv_plat/contentstorage_api/caquery.h Tue Mar 23 23:55:55 2010 +0200 @@ -58,6 +58,11 @@ unsigned int count() const; void setCount(unsigned int count); + QMap attributes() const; + QString attribute(const QString &name) const; + void setAttribute(const QString &name, const QString &value); + void removeAttribute(const QString &name); + void clear(); private: diff -r 9d806967057c -r 7f0462e8c3da homescreensrv_plat/homescreen_information_api/inc/homescreendomainpskeys.h --- a/homescreensrv_plat/homescreen_information_api/inc/homescreendomainpskeys.h Tue Mar 23 23:42:03 2010 +0200 +++ b/homescreensrv_plat/homescreen_information_api/inc/homescreendomainpskeys.h Tue Mar 23 23:55:55 2010 +0200 @@ -19,23 +19,17 @@ #define HOMESCREEN_DOMAIN_PS_KEYS_H /** - * P&S UID for all Home Screen state information keys provided by this API. - */ -const QUuid KPSUidHsState("0x20022F75"); - -/** * P&S Key path for all Home Screen state information keys provided by this API. */ -const QString HsStatePSKeyPath = "/homescreeninformation"; +const char HsStatePSKeyPath[] = "/homescreen"; /** * P&S Key sub path to represent the state of the Home Screen. This property is updated when - * Home screen state is changed. Valid values are defined by the enum EPSHsState - * and range from 0 to 1. + * Home screen state is changed. Valid values are defined by the enum EPSHsState. * * @see EPSHsState */ -const QString HsStatePSKeySubPath = "resources/homescreen/state"; +const char HsStatePSKeySubPath[] = "state"; /** * Home screen state. @@ -56,4 +50,4 @@ EHomeScreenIdleState = 2 }; -#endif //HOMESCREEN_DOMAIN_PS_KEYS_H \ No newline at end of file +#endif //HOMESCREEN_DOMAIN_PS_KEYS_H diff -r 9d806967057c -r 7f0462e8c3da homescreensrv_plat/homescreen_information_api/inc/homescreeninformation.qcrml --- a/homescreensrv_plat/homescreen_information_api/inc/homescreeninformation.qcrml Tue Mar 23 23:42:03 2010 +0200 +++ b/homescreensrv_plat/homescreen_information_api/inc/homescreeninformation.qcrml Tue Mar 23 23:55:55 2010 +0200 @@ -1,5 +1,5 @@ - - + +