24 #include <qstringlist.h> |
24 #include <qstringlist.h> |
25 #include <qservicemanager.h> |
25 #include <qservicemanager.h> |
26 |
26 |
27 #include "cahandler.h" |
27 #include "cahandler.h" |
28 #include "caqtsfhandlerloader.h" |
28 #include "caqtsfhandlerloader.h" |
29 #include "caclient_defines.h" |
|
30 |
29 |
31 QTM_USE_NAMESPACE |
30 QTM_USE_NAMESPACE |
32 |
31 |
33 /*! |
32 /*! |
34 \class CaQtSfHandlerLoader |
33 \class CaQtSfHandlerLoader |
74 } |
73 } |
75 } |
74 } |
76 } |
75 } |
77 |
76 |
78 /*! |
77 /*! |
79 Loads handler implementations appropriate for the requested entry type name and command. |
78 Loads handler implementations appropriate for the requested |
|
79 entry type name and command. |
80 |
80 |
81 The caller takes ownership of the returned pointer. |
81 The caller takes ownership of the returned pointer. |
82 |
82 |
83 \param entryTypeName Entry type name. |
83 \param entryTypeName Entry type name. |
84 \param commandName Name of the command to be handled. |
84 \param commandName Name of the command to be handled (unused). |
85 \return A pointer to handler serving the entry type and command if found, NULL otherwise. |
85 \return A pointer to handler serving the entry type and command |
|
86 if found, NULL otherwise. |
86 */ |
87 */ |
87 CaHandler *CaQtSfHandlerLoader::loadHandler(const QString &entryTypeName, |
88 CaHandler *CaQtSfHandlerLoader::loadHandler(const QString &entryTypeName) |
88 const QString &commandName) |
|
89 { |
89 { |
90 Q_UNUSED(commandName); |
|
91 |
|
92 QString typeName(entryTypeName); |
|
93 if (entryTypeName == WIDGET_ENTRY_TYPE_NAME |
|
94 || entryTypeName == PACKAGE_ENTRY_TYPE_NAME) { |
|
95 typeName = QString(APPLICATION_ENTRY_TYPE_NAME); |
|
96 } |
|
97 |
|
98 QServiceManager serviceManager; |
90 QServiceManager serviceManager; |
99 QServiceFilter serviceFilter("com.nokia.homescreen.ICommandHandler"); |
91 QServiceFilter serviceFilter("com.nokia.homescreen.ICommandHandler"); |
100 serviceFilter.setCustomAttribute("entryTypeName", typeName); |
92 serviceFilter.setCustomAttribute("entryTypeName", entryTypeName); |
101 QList<QServiceInterfaceDescriptor> serviceInterfaceDescriptorList = |
93 QList<QServiceInterfaceDescriptor> serviceInterfaceDescriptorList = |
102 serviceManager.findInterfaces(serviceFilter); |
94 serviceManager.findInterfaces(serviceFilter); |
103 CaHandler *interfaceHandler = NULL; |
95 CaHandler *interfaceHandler = NULL; |
104 if (!serviceInterfaceDescriptorList.isEmpty()) { |
96 if (!serviceInterfaceDescriptorList.isEmpty()) { |
105 QServiceInterfaceDescriptor serviceInterfaceDescriptor = |
97 QServiceInterfaceDescriptor serviceInterfaceDescriptor = |