玉兔远程控制
0.1.0-bate11
Toggle main menu visibility
载入中...
搜索中...
未找到
Service
ServiceThread.cpp
1
// Author: Kang Lin <kl222@126.com>
2
3
#include "ServiceThread.h"
4
#include <QLoggingCategory>
5
6
Q_DECLARE_LOGGING_CATEGORY(Service)
7
8
CServiceThread::CServiceThread(
CPluginService
*pPlugin, QObject *parent)
9
: QThread(parent),
10
m_pPlugin(pPlugin)
11
{
12
}
13
14
CServiceThread::~CServiceThread()
15
{
16
qDebug(Service) <<
"CServiceThread::~CServiceThread()"
;
17
}
18
19
void
CServiceThread::run()
20
{
21
CService* pService = m_pPlugin->NewService();
22
if
(!pService)
23
{
24
qCritical(Service) <<
"GetService fail"
;
25
return
;
26
}
27
qInfo(Service) <<
"The service"
<< m_pPlugin->Name() <<
"is start"
;
28
29
int
nRet = pService->
Init
();
30
if
(nRet)
31
{
32
qWarning(Service) <<
"The service"
<< m_pPlugin->Name() <<
"initial fail"
;
33
return
;
34
}
35
36
exec();
37
38
qInfo(Service) <<
"The service"
<< m_pPlugin->Name() <<
"is stop"
;
39
40
pService->Clean();
41
pService->deleteLater();
42
}
CPluginService
服务插件接口。此接口仅由插件实现。
定义
PluginService.h:27
CService::Init
virtual int Init()
加载参数,支持非Qt事件循环
定义
Service.cpp:24
作者:康林 (kl222@126.com)
版权所有(c) 康林工作室 保留所有权力