tst_QContactActions::~tst_QContactActions() { QString path = QApplication::applicationDirPath() + "/dummyplugin/plugins"; QApplication::removeLibraryPath(path); // clean up any actions/services. QServiceManager sm; QStringList allServices = sm.findServices(); foreach(const QString& serv, allServices) { if (serv.startsWith("tst_qcontact")) { if (!sm.removeService(serv)) { qDebug() << " tst_qca: ctor: cleaning up test service" << serv << "failed:" << sm.error(); } } } }
/* * This is the method which clients can invoke remotely * using service framework. This method return the total * number of services available in service framework. */ int SfwTestService::getServiceCount() { QServiceManager serviceManager; QStringList serviceList = serviceManager.findServices(); //Below code simulates long running event to make this method //time consuming. #ifdef ENABLE_LONG_RUNNING_EVENT QEventLoop* loop = new QEventLoop( this ); QTimer::singleShot(10000, loop, SLOT(quit())); loop->exec(); delete loop; #endif return serviceList.count(); }
tst_QContactActions::tst_QContactActions() { // set the correct path to look for plugins QString path = QApplication::applicationDirPath() + "/dummyplugin/plugins"; QApplication::addLibraryPath(path); // and add the sendemail + call actions to the service framework QServiceManager sm; // clean up any actions/services. QStringList allServices = sm.findServices(); foreach(const QString& serv, allServices) { if (serv.startsWith("tst_qcontact")) { if (!sm.removeService(serv)) { qDebug() << " tst_qca: ctor: cleaning up test service" << serv << "failed:" << sm.error(); } } } if (!sm.addService(QCoreApplication::applicationDirPath() + "/plugins/contacts/xmldata/sendemailactionservice.xml")) qDebug() << " tst_qca: ctor: unable to add SendEmail service:" << sm.error(); if (!sm.addService(QCoreApplication::applicationDirPath() + "/plugins/contacts/xmldata/multiactionservice.xml")) qDebug() << " tst_qca: ctor: unable to add MultiAction service:" << sm.error(); }