myservice.xml
<?xml version="1.0" encoding="UTF-8"?>
<SFW version="1.1">
<service>
<name>MyService</name>
<ipcaddress>my_service</ipcaddress>
<description>MyService</description>
<interface>
<name>com.nokia.qt.MyService</name>
<version>1.0</version>
<description>Unique Client</description>
<capabilities></capabilities>
</interface>
</service>
</SFW>
myservice.cpp
#include <QCoreApplication>
#include <QObject>
#include <QServiceManager>
QTM_USE_NAMESPACE
class MyService : public QObject
{
Q_OBJECT
public:
MyService(QObject* parent = 0)
: QObject(parent)
{
}
signals:
void salaryChanged(int newSalary);
public slots:
void setSalary(int newSalary)
{
if(newSalary != mySalary) {
mySalary = newSalary;
emit salaryChanged(newSalary);
}
}
private:
int mySalary;
};
void unregisterExampleService()
{
QServiceManager m;
m.removeService("MyService");
}
void registerExampleService()
{
unregisterExampleService();
QServiceManager m;
const QString path = QCoreApplication::applicationDirPath() + "/xmldata/myservice.xml";
if (!m.addService(path)) {
qWarning() << "Cannot register myService" << path;
}
}
int main(int argc, char** argv)
{
QCoreApplication app(argc, argv);
registerExampleService();
int res = app.exec();
return res;
}
#include "myservice.moc"
myservice.pro
TEMPLATE = app
TARGET =
DEPENDPATH += .
INCLUDEPATH += .
CONFIG += mobility
MOBILITY = serviceframework
# Input
SOURCES += myservice.cpp