Qt 注册本地服务

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值