--- 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) {
--- 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 &)
--- 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<int> CCaInnerNotifierFilter::GetIds(void) const
- ?GetIds@CCaInnerQuery@@QBEABV?$RArray@H@@XZ @ 24 NONAME ; class RArray<int> 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<int> 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<int> 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<int> 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<int> 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<int> 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 &)
--- 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: {
--- /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
+
+
--- 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;
};
--- 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<QString, QString> 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<QString, QString> mAttributes;
};
#endif //CAQUERY_PRIVATE_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 <QMutex>
+#include <QSharedPointer>
// 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<int> &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<CaHandlerProxy> mCommandHandler;
// Mutex to serialize access to mSessions.
QMutex mMutex;
--- /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 <QObject>
+#include <cadefs.h>
+#include <caclient_global.h>
+
+class CaEntry;
+class QString;
+
+class CaHandler: public QObject
+{
+ Q_OBJECT
+
+public:
+ virtual int execute(const CaEntry &entry,
+ const QString &commandName) = 0;
+};
+
+#endif
--- /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 <caclient_global.h>
+
+class QString;
+class CaHandler;
+
+class CaHandlerLoader
+{
+public:
+ virtual ~CaHandlerLoader();
+ virtual CaHandler *loadHandler(const QString &entryTypeName,
+ const QString &commandName) = 0;
+};
+
+#endif
--- /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 <e32def.h>
+#include <QMap>
+#include <QString>
+#include <QSharedPointer>
+#include <cadefs.h>
+
+#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<QString, QSharedPointer<CaHandler> > ImplementationMap;
+ typedef ImplementationMap::iterator ImplementationMapIterator;
+
+ QSharedPointer<CaHandlerLoader> mLoader;
+ ImplementationMap mImplementationMap;
+};
+
+#endif
--- 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.
--- /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 <QMap>
+#include <QString>
+#include <QScopedPointer>
+
+#include "cahandlerloader.h"
+
+class CaQtSfHandlerLoader:
+ public CaHandlerLoader
+{
+public:
+ CaHandler *loadHandler(const QString &entryTypeName,
+ const QString &commandName);
+};
+
+#endif
--- 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<const TUint16 *>(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);
-}
//----------------------------------------------------------------------------
//
--- /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 <QString>
+#include "cahandlerloader.h"
+
+/*!
+ \class CaHandlerLoader
+ \ingroup
+ \brief Interface for class of objects providing command handlers.
+
+ \sa CaHandlerLoader
+*/
+
+/*!
+ Destructor.
+*/
+CaHandlerLoader::~CaHandlerLoader()
+{
+}
+
+
--- /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 <caentry.h>
+#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<CaHandler>(implementation);
+ }
+
+ return implementation;
+}
--- 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<TInt>(fromIconDescription.bitmapId()),
- static_cast<TInt>(fromIconDescription.maskId()),
- static_cast<TInt>(fromIconDescription.skinMajorId()),
- static_cast<TInt>(fromIconDescription.skinMinorId()),
- convertToDescriptor(fromIconDescription.filename()));
+ convertToDescriptor(fromIconDescription.filename()),
+ convertToDescriptor(fromIconDescription.skinId()),
+ convertToDescriptor(fromIconDescription.applicationId())
+ );
const QMap<QString, QString> attributesMap = fromEntry.attributes();
@@ -167,6 +166,14 @@
Qt::SortOrder sortOrder;
fromQuery.getSort(sortAttr, sortOrder);
toQuery.SetSort(CaObjectAdapter::getSortCode(sortAttr, sortOrder));
+
+ const QMap<QString, QString> 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;
}
--- /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 <QMap>
+#include <QScopedPointer>
+#include <QString>
+#include <qservice.h>
+#include <qstringlist.h>
+#include <qservicemanager.h>
+
+#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<CCaAppHandler>;
+ } else if (entryTypeName == CaObjectAdapter::urlEntryTypeName()) {
+ implementation = new CaS60HandlerAdapter<CCaUrlHandler>;
+ } else if (entryTypeName ==
+ CaObjectAdapter::templateApplicationEntryTypeName()) {
+ implementation = new CaTappHandler;
+ }
+
+ return implementation;
+}
+
+
--- 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.
--- 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<QString, QString> 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<QString, QString> 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()
--- 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();
--- 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();
--- /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
--- /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
+}
+
+
--- /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 <e32base.h>
+
+// 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
--- /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 <QObject>
+#include <qserviceplugininterface.h>
+
+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
--- /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 <e32base.h>
+#include <SWInstApi.h>
+
+/**
+ * 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
--- /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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<service>
+ <name>caapphandlerplugin</name>
+ <filepath>z:/hsresources/plugins/commandhandler/caapphandlerplugin.qtplugin</filepath>
+ <description></description>
+ <interface>
+ <name>com.nokia.homescreen.ICommandHandler</name>
+ <version>1.0</version>
+ <description></description>
+ <capabilities></capabilities>
+ <customproperty key="entryTypeName">application</customproperty>
+ </interface>
+</service>
--- /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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<service>
+ <name>caapphandlerplugin</name>
+ <filepath>caapphandlerplugin</filepath>
+ <description></description>
+ <interface>
+ <name>com.nokia.homescreen.ICommandHandler</name>
+ <version>1.0</version>
+ <description></description>
+ <capabilities></capabilities>
+ <customproperty key="entryTypeName">application</customproperty>
+ </interface>
+</service>
--- /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 <w32std.h>
+#include <apgtask.h>
+#include <apgcli.h>
+#include <eikenv.h>
+#include <eikappui.h>
+#include <vwsdef.h>
+#include <AknDef.h>
+#include <AknTaskList.h>
+
+#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<KCaMaxAttrValueLen> 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<RWsSession> (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<RApaLsSession> (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<RWsSession> (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);
+}
+
--- /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 <cadefs.h>
+#include <qserviceinterfacedescriptor.h>
+#include <qabstractsecuritysession.h>
+#include <qservicecontext.h>
+#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<CCaAppHandler> 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<CCaAppHandler>;
+ } 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<typename Plugin>
+ \ingroup
+ \brief Adapter for S60 command handlers.
+
+ Adapts S60 command handlers to CaHandler interface
+
+ \sa CaHandler
+*/
+
+/*!
+ \fn int CaS60HandlerAdapter<typename Plugin>::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.
+*/
--- /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 <apgcli.h>
+#include <swi/sisregistrysession.h>
+#include <swi/sisregistryentry.h>
+#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<KCaMaxAttrValueLen> 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<KMaxUidName> uidDesc;
+ aEntry.FindAttribute(KCaPackageUid, uidDesc);
+ TLex uidLex(uidDesc);
+ TUint32 uidValue;
+ User::LeaveIfError(uidLex.Val(uidValue, EHex));
+
+ packageUid.iUid = static_cast<TInt32>(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<TUid> packageIds;
+ CleanupClosePushL(packageIds);
+
+ iSisRegSession.InstalledUidsL(packageIds);
+
+ RPointerArray<HBufC> 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;
+}
--- /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
--- /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 <e32des8.h>
+#include <cadefs.h>
+#include <caentry.h>
+#include <QScopedPointer>
+#include <QString>
+#include <utf.h>
+#include <xqconversions.h>
+
+#include "cainnerentry.h"
+#include "cahandler.h"
+#include "caobjectadapter.h"
+
+template <typename Plugin>
+class CaS60HandlerAdapter: public CaHandler
+{
+public:
+ int execute(const CaEntry &entry, const QString &commandName) {
+
+ TPtrC16 commandNameDesC16(
+ reinterpret_cast<const TUint16 *>(commandName.utf16()));
+
+ QScopedPointer<HBufC8> commandNameDesc8;
+
+ TRAPD(result,
+ commandNameDesc8.reset(CnvUtfConverter::ConvertFromUnicodeToUtf7L(
+ commandNameDesC16, false)));
+
+ QScopedPointer<CCaInnerEntry> innerEntry(NULL);
+
+ TRAP(result,
+ innerEntry.reset(CCaInnerEntry::NewL());
+ CaObjectAdapter::convertL(entry, *innerEntry);
+
+ static QScopedPointer<Plugin> plugin(Plugin::NewL());
+ plugin->HandleCommandL(*innerEntry, commandNameDesc8->Des());
+ );
+
+ return result;
+ }
+};
+
+#endif
--- /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)
--- /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
+
+
--- /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 <QObject>
+#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
--- /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 <QObject>
+#include <qserviceplugininterface.h>
+#include <qserviceinterfacedescriptor.h>
+
+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
--- /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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<service>
+ <name>catapphandlerplugin</name>
+ <filepath>z:/hsresources/plugins/commandhandler/catapphandlerplugin.qtplugin</filepath>
+ <description>Content Arsenal tapp handler plugin</description>
+ <interface>
+ <name>com.nokia.homescreen.ICommandHandler</name>
+ <version>1.0</version>
+ <description> executes commands on tapps </description>
+ <capabilities></capabilities>
+ </interface>
+</service>
+
--- /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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<service>
+ <name>catapphandlerplugin</name>
+ <filepath>z:/hsresources/plugins/commandhandler/catapphandlerplugin.qtplugin</filepath>
+ <description>Content Arsenal tapp handler plugin</description>
+ <interface>
+ <name>com.nokia.homescreen.ICommandHandler</name>
+ <version>1.0</version>
+ <description> executes commands on tapps </description>
+ <customproperty key="entryTypeName">application</customproperty>
+ <capabilities></capabilities>
+ </interface>
+</service>
--- /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 <qservicemanager.h>
+#include <qservicefilter.h>
+#include <qserviceinterfacedescriptor.h>
+
+#include <xqappmgr.h>
+
+#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<XQAiwRequest> request(mAiwMgr->create(url, true));
+ if (!request.isNull()) {
+ bool res = request->send();
+ if (!res) {
+ error = request->lastError();
+ }
+ }
+ }
+ return error;
+}
--- /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 <qserviceinterfacedescriptor.h>
+ #include <qabstractsecuritysession.h>
+ #include <qservicecontext.h>
+ */
+
+#include "catapphandlerplugin.h"
+#include "catapphandler.h"
+
+#include <cadefs.h>
+
+#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
--- /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 <e32base.h>
+
+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__
--- /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 <QObject>
+#include <qserviceplugininterface.h>
+
+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
--- /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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<service>
+ <name>caurlhandlerplugin</name>
+ <filepath>z:/hsresources/plugins/commandhandler/caurlhandlerplugin.qtplugin</filepath>
+ <description></description>
+ <interface>
+ <name>com.nokia.homescreen.ICommandHandler</name>
+ <version>1.0</version>
+ <description></description>
+ <capabilities></capabilities>
+ <customproperty key="entryTypeName">url</customproperty>
+ </interface>
+</service>
--- /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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<service>
+ <name>caurlhandlerplugin</name>
+ <filepath>caurlhandlerplugin</filepath>
+ <description></description>
+ <interface>
+ <name>com.nokia.homescreen.ICommandHandler</name>
+ <version>1.0</version>
+ <description></description>
+ <capabilities></capabilities>
+ <customproperty key="entryTypeName">url</customproperty>
+ </interface>
+</service>
--- /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 <w32std.h>
+#include <apgtask.h>
+#include <apgcli.h>
+#include <AknTaskList.h>
+
+#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<RWsSession> ( 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<RApaLsSession> ( appArcSession );
+ TThreadId id;
+ appArcSession.StartDocument( *buf, KUidBrowser, id );
+ CleanupStack::PopAndDestroy( &appArcSession );
+ CleanupStack::PopAndDestroy( buf );
+ }
+
+ CleanupStack::PopAndDestroy( &wsSession );
+ }
--- /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 <cadefs.h>
+#include <qserviceinterfacedescriptor.h>
+#include <qabstractsecuritysession.h>
+#include <qservicecontext.h>
+#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<CCaUrlHandler> 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<CCaUrlHandler>;
+ } else {
+ return 0;
+ }
+}
+// TODO: uncomment when it will be a plugin
+//Q_EXPORT_PLUGIN2(caurlhandlerplugin, CaUrlHandlerPlugin)
--- /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
--- /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
+}
+
+
--- 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 );
--- 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 )
--- 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 );
}
Binary file contentstorage/castorage/data/castoragedb has changed
--- /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 " ";
+
--- /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"
--- /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 " ";
+
--- /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"
--- /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
--- 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 );
--- 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_' );
-
--- 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
-
--- 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" );
--- 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 <BAUTILS.H>
+#include <bautils.h>
#include <e32cons.h>
#include <sqldb.h>
#include "castorage.h"
--- 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; j<aQuery->GetAttributes().Count(); j++ )
+ {
+ const TPtrC attrNameFromQuery( aQuery->GetAttributes()[j]->Name() );
+ const TPtrC attrValueFromQuery( aQuery->GetAttributes()[j]->Value() );
+
+ TBuf16<KCaMaxAttrValueLen> 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<TInt>& aResultIdArray )
{
+ /*
CCaSqlQuery* sqlGetEntriesIdsQuery = CCaSqlQuery::NewLC( iSqlDb );
CaSqlQueryCreator::CreateGetEntriesQueryL( aQuery,
sqlGetEntriesIdsQuery );
@@ -229,6 +255,17 @@
sqlGetEntriesIdsQuery->ExecuteL( aResultIdArray,
CCaSqlQuery::EEntryTable );
CleanupStack::PopAndDestroy( sqlGetEntriesIdsQuery );
+ */
+ RPointerArray<CCaInnerEntry> resultContainer;
+ CleanupResetAndDestroyPushL( resultContainer );
+ GetEntriesL( aQuery, resultContainer );
+ for( TInt i=0; i<resultContainer.Count(); i++ )
+ {
+ int id = resultContainer[i]->GetId();
+ aResultIdArray.AppendL( id );
+ }
+
+ CleanupStack::PopAndDestroy( &resultContainer );
}
// ---------------------------------------------------------------------------
--- 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;
--- 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 )
--- 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<KMaxFileName> iSkinId;
+ TBuf<KMaxUidName> 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.
--- 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 <e32base.h>
+#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;
};
--- 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);
}
// ---------------------------------------------------------------------------
--- 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;
+ }
--- 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 <ecom/registryinfo.rh>
-
-#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 = "";
- }
- };
- }
- };
- }
-
--- 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
--- 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
--- 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
--- 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 <e32base.h>
-
-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
--- 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 <e32base.h>
-
-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<CCaHandler> iHandlers;
-
- };
-
-#endif // C_CAHANDLERENGINE_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 <e32base.h>
-#include <ecom/ecom.h>
-
-#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
--- 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
--- 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<CCaHandlerPlugin*> ( ptr );
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-inline CCaHandlerPlugin::CCaHandlerPlugin()
- {
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-inline CCaHandlerPlugin::~CCaHandlerPlugin()
- {
- REComSession::DestroyedImplementation( iDtor_ID_Key );
- }
--- 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 );
- }
--- 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<KCaMaxTypeLen> 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;
- }
--- 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;
}
--- 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
--- 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.
*
*/
--- 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 <platform_paths.hrh>
-
-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
-
--- 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" \
--- 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 <e32base.h>
-
-#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
--- 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 <e32base.h>
-#include <SWInstApi.h>
-
-/**
- * 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
--- 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 <e32base.h>
-
-// 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__
--- 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 <w32std.h>
-#include <apgtask.h>
-#include <apgcli.h>
-#include <eikenv.h>
-#include <eikappui.h>
-#include <vwsdef.h>
-#include <AknDef.h>
-#include <AknTaskList.h>
-
-#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<KCaMaxAttrValueLen> 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<RWsSession> ( 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<RApaLsSession> ( 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<RWsSession> ( 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 );
- }
-
--- 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 <e32std.h>
-#include <ecom/implementationproxy.h>
-#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;
- }
--- 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 <apgcli.h>
-#include <swi/sisregistrysession.h>
-#include <swi/sisregistryentry.h>
-#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<KCaMaxAttrValueLen> 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<KMaxUidName> uidDesc;
- aEntry.FindAttribute( KCaPackageUid, uidDesc );
- TLex uidLex(uidDesc);
- TUint32 uidValue;
- User::LeaveIfError( uidLex.Val( uidValue, EHex ));
-
- packageUid.iUid = static_cast<TInt32>(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<TUid> packageIds;
- CleanupClosePushL( packageIds );
-
- iSisRegSession.InstalledUidsL( packageIds );
-
- RPointerArray<HBufC> 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;
- }
--- 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 <w32std.h>
-#include <apgtask.h>
-#include <apgcli.h>
-#include <AknTaskList.h>
-
-#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<RWsSession> ( 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<RApaLsSession> ( appArcSession );
- TThreadId id;
- appArcSession.StartDocument( *buf, KUidBrowser, id );
- CleanupStack::PopAndDestroy( &appArcSession );
- CleanupStack::PopAndDestroy( buf );
- }
-
- CleanupStack::PopAndDestroy( &wsSession );
- }
--- 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.
--- 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.
--- 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:
--- 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<QString, QString> attributes() const;
+ QString attribute(const QString &name) const;
+ void setAttribute(const QString &name, const QString &value);
+ void removeAttribute(const QString &name);
+
void clear();
private:
--- 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
--- 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 @@
<?xml version="1.0" encoding="UTF-8"?>
-<repository target="RProperty" uidValue="0x20022F75">
- <key int="0x1" ref="resources/homescreen/state">
+<repository target="RProperty" uidValue="0x20022F35">
+ <key int="0x1" ref="/homescreen/state">
</key>
</repository>