You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

IProcess.h 1.4 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. #pragma once
  2. #include <utility> /**< std::pair */
  3. #include <QFile>
  4. #include <QThread>
  5. #include "ConfigInfo.h"
  6. #include "ConstBuffer.h"
  7. #include "Singleton.h"
  8. class IProcess : public QThread
  9. {
  10. Q_OBJECT
  11. public:
  12. explicit IProcess(QObject* parent = Q_NULLPTR);
  13. ~IProcess();
  14. inline IBuffer* getConstBuffer()
  15. {
  16. return m_pConstBuffer;
  17. }
  18. inline void stop()
  19. {
  20. m_bNeedWork = false;
  21. }
  22. virtual void init(Frame* frame, std::pair<const unsigned int, Param*>& pUIntParam);
  23. inline unsigned short getProcessModel()
  24. {
  25. return m_pParam->m_usModel;
  26. }
  27. protected:
  28. Singleton* m_pSingleton;
  29. bool m_bNeedWork;
  30. ConstBuffer* m_pConstBuffer;
  31. ConfigInfo* m_pConfigInfo;
  32. Frame* m_pFrame;
  33. std::pair<unsigned int, Param*> m_pUIntParam;
  34. ChannelGroup* m_pChannelGroup;
  35. Param* m_pParam;
  36. QByteArray m_fillArray;
  37. unsigned short m_usFillSize;
  38. unsigned int m_uiIndex;
  39. unsigned int m_uiDataSize;
  40. QByteArray m_byteArray; // 原始数据
  41. QByteArray m_tempArray;
  42. QByteArray m_validArray; // 有效数据
  43. QByteArray m_ableArray; // 可用数据
  44. QFile m_file;
  45. QByteArray m_fileArray;
  46. protected:
  47. void createDataPath(QString title);
  48. };