#pragma once #include /**< std::pair */ #include #include #include "ConfigInfo.h" #include "ConstBuffer.h" #include "Singleton.h" class IProcess : public QThread { Q_OBJECT public: explicit IProcess(QObject* parent = Q_NULLPTR); ~IProcess(); inline IBuffer* getConstBuffer() { return m_pConstBuffer; } inline void stop() { m_bNeedWork = false; } virtual void init(Frame* frame, std::pair& pUIntParam); inline unsigned short getProcessModel() { return m_pParam->m_usModel; } protected: Singleton* m_pSingleton; bool m_bNeedWork; ConstBuffer* m_pConstBuffer; ConfigInfo* m_pConfigInfo; Frame* m_pFrame; std::pair m_pUIntParam; ChannelGroup* m_pChannelGroup; Param* m_pParam; QByteArray m_fillArray; unsigned short m_usFillSize; unsigned int m_uiIndex; unsigned int m_uiDataSize; QByteArray m_byteArray; // 原始数据 QByteArray m_tempArray; QByteArray m_validArray; // 有效数据 QByteArray m_ableArray; // 可用数据 QFile m_file; QByteArray m_fileArray; protected: void createDataPath(QString title); };