41 |
41 |
42 FtuFirstTimeUse::FtuFirstTimeUse(QObject* aParent) : |
42 FtuFirstTimeUse::FtuFirstTimeUse(QObject* aParent) : |
43 QObject(aParent), |
43 QObject(aParent), |
44 mRuntime(NULL) |
44 mRuntime(NULL) |
45 { |
45 { |
46 FTUTEST_FUNC_ENTRY("FTU::FtuFirstTimeUse::FtuFirstTimeUse"); |
46 QDEBUG("FTU::FtuFirstTimeUse::FtuFirstTimeUse"); |
47 |
47 |
48 registerServicePlugins(); |
48 registerServicePlugins(); |
49 |
49 |
50 QServiceManager manager; |
50 QServiceManager manager; |
51 QServiceFilter filter(ftuRuntimeUri); |
51 QServiceFilter filter(ftuRuntimeUri); |
52 QList<QServiceInterfaceDescriptor> interfaces = manager.findInterfaces( |
52 QList<QServiceInterfaceDescriptor> interfaces = manager.findInterfaces( |
53 filter); |
53 filter); |
54 |
54 |
55 qDebug() << "ftu: found " << interfaces.count() |
55 QDEBUG("ftu: found " << interfaces.count() |
56 << " instances of runtime"; |
56 << " instances of runtime";) |
57 |
57 |
58 if(interfaces.count() > 0){ |
58 if(interfaces.count() > 0){ |
59 mRuntime = (QStateMachine*)(manager.loadInterface( |
59 mRuntime = (QStateMachine*)(manager.loadInterface( |
60 interfaces.first().interfaceName())); |
60 interfaces.first().interfaceName())); |
61 } |
61 } |
67 connect(mRuntime, SIGNAL(started()), SLOT(handleRuntimeStarted())); |
67 connect(mRuntime, SIGNAL(started()), SLOT(handleRuntimeStarted())); |
68 connect(mRuntime, SIGNAL(stopped()), SLOT(handleRuntimeStopped())); |
68 connect(mRuntime, SIGNAL(stopped()), SLOT(handleRuntimeStopped())); |
69 connect(mRuntime, SIGNAL(faulted()), SLOT(handleRuntimeFaulted())); |
69 connect(mRuntime, SIGNAL(faulted()), SLOT(handleRuntimeFaulted())); |
70 } |
70 } |
71 |
71 |
72 FTUTEST_FUNC_EXIT("FTU::FtuFirstTimeUse::FtuFirstTimeUse"); |
72 QDEBUG("FTU::FtuFirstTimeUse::FtuFirstTimeUse"); |
73 |
73 |
74 } |
74 } |
75 |
75 |
76 // --------------------------------------------------------------------------- |
76 // --------------------------------------------------------------------------- |
77 // FtuFirstTimeUse::~FtuFirstTimeUse() |
77 // FtuFirstTimeUse::~FtuFirstTimeUse() |
93 // FtuFirstTimeUse::start() |
93 // FtuFirstTimeUse::start() |
94 // --------------------------------------------------------------------------- |
94 // --------------------------------------------------------------------------- |
95 // |
95 // |
96 void FtuFirstTimeUse::start() |
96 void FtuFirstTimeUse::start() |
97 { |
97 { |
98 FTUTEST_FUNC_ENTRY("FTU::FtuFirstTimeUse::start"); |
98 QDEBUG("FTU::FtuFirstTimeUse::start"); |
99 |
99 |
100 if(mRuntime) { |
100 if(mRuntime) { |
101 mRuntime->start(); |
101 mRuntime->start(); |
102 } else { |
102 } else { |
103 emit exit(); |
103 emit exit(); |
104 } |
104 } |
105 |
105 |
106 FTUTEST_FUNC_EXIT("FTU::FtuFirstTimeUse::start"); |
106 QDEBUG("FTU::FtuFirstTimeUse::start"); |
107 } |
107 } |
108 |
108 |
109 // --------------------------------------------------------------------------- |
109 // --------------------------------------------------------------------------- |
110 // FtuFirstTimeUse::stop() |
110 // FtuFirstTimeUse::stop() |
111 // --------------------------------------------------------------------------- |
111 // --------------------------------------------------------------------------- |
112 // |
112 // |
113 void FtuFirstTimeUse::stop() |
113 void FtuFirstTimeUse::stop() |
114 { |
114 { |
115 FTUTEST_FUNC_ENTRY("FTU::FtuFirstTimeUse::stop"); |
115 QDEBUG("FTU::FtuFirstTimeUse::stop"); |
116 |
116 |
117 |
117 |
118 if (mRuntime && mRuntime->isRunning()) { |
118 if (mRuntime && mRuntime->isRunning()) { |
119 QMetaObject::invokeMethod(mRuntime, "event_exit"); |
119 QMetaObject::invokeMethod(mRuntime, "event_exit"); |
120 } |
120 } |
121 |
121 |
122 |
122 |
123 FTUTEST_FUNC_EXIT("FTU::FtuFirstTimeUse::stop"); |
123 QDEBUG("FTU::FtuFirstTimeUse::stop"); |
124 } |
124 } |
125 |
125 |
126 // --------------------------------------------------------------------------- |
126 // --------------------------------------------------------------------------- |
127 // FtuFirstTimeUse::handleRuntimeStarted() |
127 // FtuFirstTimeUse::handleRuntimeStarted() |
128 // --------------------------------------------------------------------------- |
128 // --------------------------------------------------------------------------- |
152 // FtuFirstTimeUse::registerServicePlugins() |
152 // FtuFirstTimeUse::registerServicePlugins() |
153 // --------------------------------------------------------------------------- |
153 // --------------------------------------------------------------------------- |
154 // |
154 // |
155 void FtuFirstTimeUse::registerServicePlugins() |
155 void FtuFirstTimeUse::registerServicePlugins() |
156 { |
156 { |
157 FTUTEST_FUNC_ENTRY("FTU::FtuFirstTimeUse::registerServicePlugins()"); |
157 QDEBUG("FTU::FtuFirstTimeUse::registerServicePlugins()"); |
158 QStringList pluginPaths; |
158 QStringList pluginPaths; |
159 |
159 |
160 pluginPaths << "fturesources/plugins"; |
160 pluginPaths << "fturesources/plugins"; |
161 |
161 |
162 QFileInfoList drives = QDir::drives(); |
162 QFileInfoList drives = QDir::drives(); |
174 //Check plugin path relative to current dir |
174 //Check plugin path relative to current dir |
175 if(QDir(pluginPath).exists()) { |
175 if(QDir(pluginPath).exists()) { |
176 registerServicePlugins(pluginPath); |
176 registerServicePlugins(pluginPath); |
177 } |
177 } |
178 } |
178 } |
179 FTUTEST_FUNC_EXIT("FTU::FtuFirstTimeUse::registerServicePlugins()"); |
179 QDEBUG("FTU::FtuFirstTimeUse::registerServicePlugins()"); |
180 } |
180 } |
181 |
181 |
182 // --------------------------------------------------------------------------- |
182 // --------------------------------------------------------------------------- |
183 // FtuFirstTimeUse::registerServicePlugins() |
183 // FtuFirstTimeUse::registerServicePlugins() |
184 // --------------------------------------------------------------------------- |
184 // --------------------------------------------------------------------------- |
185 // |
185 // |
186 void FtuFirstTimeUse::registerServicePlugins(const QString &root) |
186 void FtuFirstTimeUse::registerServicePlugins(const QString &root) |
187 { |
187 { |
188 FTUTEST_FUNC_ENTRY("FTU::FtuFirstTimeUse::registerServicePlugins(const QString &)"); |
188 QDEBUG("FTU::FtuFirstTimeUse::registerServicePlugins(const QString &)"); |
189 qDebug() << "FTU: root: " << root; |
189 QDEBUG("FTU: root: " << root;) |
190 QDir dir = QDir(root); |
190 QDir dir = QDir(root); |
191 QFileInfoList fileInfos = dir.entryInfoList(QDir::AllDirs | QDir::NoDotAndDotDot); |
191 QFileInfoList fileInfos = dir.entryInfoList(QDir::AllDirs | QDir::NoDotAndDotDot); |
192 |
192 |
193 foreach (QFileInfo fileInfo, fileInfos) { |
193 foreach (QFileInfo fileInfo, fileInfos) { |
194 registerServicePlugins(fileInfo.absoluteFilePath()); |
194 registerServicePlugins(fileInfo.absoluteFilePath()); |
197 fileInfos = dir.entryInfoList(QStringList("*.xml")); |
197 fileInfos = dir.entryInfoList(QStringList("*.xml")); |
198 |
198 |
199 if (!fileInfos.isEmpty()) { |
199 if (!fileInfos.isEmpty()) { |
200 //Plugin dll and xml are in the same directory |
200 //Plugin dll and xml are in the same directory |
201 QApplication::addLibraryPath(root); |
201 QApplication::addLibraryPath(root); |
202 qDebug() << QString("FTU::FtuFirstTimeUse::registerServicePlugins - Directory added to application's library paths: ") |
202 QDEBUG("FTU::FtuFirstTimeUse::registerServicePlugins - Directory added to application's library paths: " |
203 << root; |
203 << root;) |
204 QServiceManager manager; |
204 QServiceManager manager; |
205 foreach(QFileInfo fileInfo, fileInfos) { |
205 foreach(QFileInfo fileInfo, fileInfos) { |
206 manager.addService(fileInfo.absoluteFilePath()); |
206 manager.addService(fileInfo.absoluteFilePath()); |
207 qDebug() << QString("FTU::FtuFirstTimeUse::registerServicePlugins - Plugin registered: ") + fileInfo.fileName(); |
207 QDEBUG("FTU::FtuFirstTimeUse::registerServicePlugins - Plugin registered: " << fileInfo.fileName();) |
208 } |
208 } |
209 } |
209 } |
210 FTUTEST_FUNC_EXIT("FTU::FtuFirstTimeUse::registerServicePlugins(const QString &)"); |
210 QDEBUG("FTU::FtuFirstTimeUse::registerServicePlugins(const QString &)"); |
211 } |
211 } |