qtmobility/plugins/declarative/serviceframework/qdeclarativeservice.cpp
changeset 14 6fbed849b4f4
parent 11 06b8e2af4411
equal deleted inserted replaced
11:06b8e2af4411 14:6fbed849b4f4
    39 **
    39 **
    40 ****************************************************************************/
    40 ****************************************************************************/
    41 
    41 
    42 #include "qdeclarativeservice.h"
    42 #include "qdeclarativeservice.h"
    43 
    43 
    44 QServiceWrapper::QServiceWrapper()
    44 QDeclarativeService::QDeclarativeService()
    45 : serviceInstance(0)
    45 : serviceInstance(0)
    46 {
    46 {
    47     serviceManager = new QServiceManager();
    47     serviceManager = new QServiceManager();
    48 }
    48 }
    49 
    49 
    50 QServiceWrapper::~QServiceWrapper()
    50 QDeclarativeService::~QDeclarativeService()
    51 {
    51 {
    52     delete serviceInstance;
    52     delete serviceInstance;
    53 }
    53 }
    54 
    54 
    55 bool QServiceWrapper::isValid() const
    55 bool QDeclarativeService::isValid() const
    56 {
    56 {
    57     return m_descriptor.isValid();
    57     return m_descriptor.isValid();
    58 }
    58 }
    59 
    59 
    60 void QServiceWrapper::setInterfaceDesc(const QServiceInterfaceDescriptor &desc)
    60 void QDeclarativeService::setInterfaceDesc(const QServiceInterfaceDescriptor &desc)
    61 {
    61 {
    62     if (desc == m_descriptor)
    62     if (desc == m_descriptor)
    63         return;
    63         return;
    64 
    64 
    65     m_descriptor = desc;
    65     m_descriptor = desc;
    68         delete serviceInstance;
    68         delete serviceInstance;
    69 
    69 
    70     serviceInstance = 0;
    70     serviceInstance = 0;
    71 }
    71 }
    72 
    72 
    73 QServiceInterfaceDescriptor QServiceWrapper::interfaceDesc() const
    73 QServiceInterfaceDescriptor QDeclarativeService::interfaceDesc() const
    74 {
    74 {
    75     return m_descriptor;
    75     return m_descriptor;
    76 }
    76 }
    77 
    77 
    78 void QServiceWrapper::setInterfaceName(const QString &interface)
    78 void QDeclarativeService::setInterfaceName(const QString &interface)
    79 {
    79 {
    80     m_descriptor = serviceManager->interfaceDefault(interface);
    80     m_descriptor = serviceManager->interfaceDefault(interface);
    81 
    81 
    82     if (!isValid())
    82     if (!isValid())
    83         qWarning() << "WARNING: No default service found for interface name: " << interface;
    83         qWarning() << "WARNING: No default service found for interface name: " << interface;
    84 }
    84 }
    85 
    85 
    86 QString QServiceWrapper::interfaceName() const
    86 QString QDeclarativeService::interfaceName() const
    87 {
    87 {
    88     if (isValid())
    88     if (isValid())
    89         return m_descriptor.interfaceName();
    89         return m_descriptor.interfaceName();
    90     else
    90     else
    91         return "No Interface";
    91         return "No Interface";
    92 }
    92 }
    93 
    93 
    94 QString QServiceWrapper::serviceName() const
    94 QString QDeclarativeService::serviceName() const
    95 {
    95 {
    96     if (isValid())
    96     if (isValid())
    97         return m_descriptor.serviceName();
    97         return m_descriptor.serviceName();
    98     else
    98     else
    99         return "No Service";
    99         return "No Service";
   100 }
   100 }
   101 
   101 
   102 QString QServiceWrapper::versionNumber() const
   102 QString QDeclarativeService::versionNumber() const
   103 {
   103 {
   104     if (isValid())
   104     if (isValid())
   105         return (QString::number(m_descriptor.majorVersion())+"."+QString::number(m_descriptor.minorVersion()));
   105         return (QString::number(m_descriptor.majorVersion())+"."+QString::number(m_descriptor.minorVersion()));
   106     else
   106     else
   107         return "0.0";
   107         return "0.0";
   108 }
   108 }
   109 
   109 
   110 QObject* QServiceWrapper::serviceObject()
   110 QObject* QDeclarativeService::serviceObject()
   111 {
   111 {
   112     if (serviceInstance) {
   112     if (serviceInstance) {
   113         return serviceInstance;
   113         return serviceInstance;
   114     }
   114     }
   115 
   115 
   121     } else {
   121     } else {
   122         return 0;
   122         return 0;
   123     }
   123     }
   124 }
   124 }
   125 
   125 
   126 QServiceListWrapper::QServiceListWrapper()
   126 QDeclarativeServiceList::QDeclarativeServiceList()
   127 {
   127 {
   128     serviceManager = new QServiceManager();
   128     serviceManager = new QServiceManager();
   129 }
   129 }
   130 
   130 
   131 QServiceListWrapper::~QServiceListWrapper()
   131 QDeclarativeServiceList::~QDeclarativeServiceList()
   132 {
   132 {
   133 }
   133 }
   134 
   134 
   135 void QServiceListWrapper::setInterfaceName(const QString &interface)
   135 void QDeclarativeServiceList::setInterfaceName(const QString &interface)
   136 {
   136 {
   137     m_interface = interface;
   137     m_interface = interface;
   138 
   138 
   139     // ![0]
   139     // ![0]
   140     QServiceWrapper *service;
   140     QDeclarativeService *service;
   141     QServiceFilter filter(m_interface, m_version);
   141     QServiceFilter filter(m_interface, m_version);
   142     QList<QServiceInterfaceDescriptor> list = serviceManager->findInterfaces(filter);
   142     QList<QServiceInterfaceDescriptor> list = serviceManager->findInterfaces(filter);
   143     for (int i = 0; i < list.size(); i++) {
   143     for (int i = 0; i < list.size(); i++) {
   144         service = new QServiceWrapper();
   144         service = new QDeclarativeService();
   145         service->setInterfaceDesc(list.at(i));
   145         service->setInterfaceDesc(list.at(i));
   146         m_services.append(service);
   146         m_services.append(service);
   147     }
   147     }
   148     // ![0]
   148     // ![0]
   149 }
   149 }
   150 
   150 
   151 QString QServiceListWrapper::interfaceName() const
   151 QString QDeclarativeServiceList::interfaceName() const
   152 {
   152 {
   153     return m_interface;
   153     return m_interface;
   154 }
   154 }
   155 
   155 
   156 void QServiceListWrapper::setMinVersion(const QString &version)
   156 void QDeclarativeServiceList::setMinVersion(const QString &version)
   157 {
   157 {
   158     m_version = version;
   158     m_version = version;
   159 }
   159 }
   160 
   160 
   161 QString QServiceListWrapper::minVersion() const
   161 QString QDeclarativeServiceList::minVersion() const
   162 {
   162 {
   163     return m_version;
   163     return m_version;
   164 }
   164 }
   165 
   165 
   166 QDeclarativeListProperty<QServiceWrapper> QServiceListWrapper::services()
   166 QDeclarativeListProperty<QDeclarativeService> QDeclarativeServiceList::services()
   167 {
   167 {
   168     return QDeclarativeListProperty<QServiceWrapper>(this, m_services);
   168     return QDeclarativeListProperty<QDeclarativeService>(this, m_services);
   169 }
   169 }