|
- #pragma once
-
- #include <utility> /**< std::pair */
-
- #include <QFile>
- #include <QThread>
- #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<const unsigned int, Param*>& 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<unsigned int, Param*> 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);
- };
|