6#include <QtCore/QThread>
9#include <istd/TDelPtr.h>
12#include <imtrest/IRequest.h>
13#include <imtrest/IResponse.h>
14#include <imtrest/CWorker.h>
20class CWorkerManagerComp;
23class CWorkerThread:
public QThread
27 CWorkerThread(
const CWorkerManagerComp* workerManager,
const QByteArray& subCommandId);
36 void SetStatus(Status status);
37 void SetRequestPtr(
const IRequest* requestPtr);
38 bool SendResponse(
const QByteArray& requestId, ConstResponsePtr& response);
41 virtual void run()
override;
44 void StartProcess(
const IRequest* request,
const QByteArray& subCommandId);
45 void FinishProcess(
const IRequest* request,
const QByteArray& subCommandId);
49 void OnFinishProcess(
const IRequest* request,
const QByteArray& subCommandId);
53 mutable CWorkerManagerComp* m_workerManager;
54 istd::TDelPtr<CWorker> m_workerPtr;
55 const IRequest* m_requestPtr;
56 mutable QMutex m_statusMutex;
57 QByteArray m_subCommandId;