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 } |