#ifndef APPINSTANCE_H__ #define APPINSTANCE_H__ #include #include #include #include #include #include #include "MultiBase.h" #include "tpProtocol.h" #include "GlobalFunction.h" #include "tpProcess.h" #include "CmdProcess.h" class CAppInstance : public QObject, public CMultiBase < CAppInstance > { Q_OBJECT public: CAppInstance(const QString& strAppName); virtual ~CAppInstance(void); virtual void close(); void init(TPA_APP_OPTION& appopt); void sendPackage(TP_PROTOCOL_MESSAGE& msg); qint64 getLastHeartBeat(); void sendCloseMsg(); TPSYS_PROCESS_INFO getProcessInfo() const { return m_procInfo; } TPA_APP_OPTION getProcessOpt() const { return m_AppOpt; } private slots: void slotNewConnection(); void slotDisconnected(); void slotErrorHandler(QLocalSocket::LocalSocketError err); void slotDataReceived(); void slotAppStatusRefresh(); void slotCompressFinished(const QString&, const QString&, int, bool); private: void parserMsg(QSharedPointer pmsg); void initLogger(); void logmsg(emTPALogLevel level, const QString& msg); void handleDiskCheckCmd(QSharedPointer pmsg); private: QMutex m_mutex; bool m_bInited; bool m_bClosed; QLocalServer m_server; QLocalSocket* m_pSocket; TpProtocolDeCode mDecoder; qint64 m_lastHeartBeat; QString m_sAppName; TPA_APP_OPTION m_AppOpt; QSharedPointer m_ptpProc; TPSYS_PROCESS_INFO m_procInfo; QTimer mTimerAppStatusRefresh; }; #endif //APPINSTANCE_H__