/**
 * 控制识别Engine
 * */

#ifndef CONTROLENGINE_H
#define CONTROLENGINE_H

#include "AppCommon.h"
#include "MyYaml.h"
#include "myutils.h"
#include "EngineBase.h"
#include "EngineFactory.h"

class ControlEngine : public ai_matrix::EngineBase
{
public:
    ControlEngine();
    ~ControlEngine();

    APP_ERROR Init() override;
    APP_ERROR DeInit() override;
    APP_ERROR Process() override;

private:
    //获取检测状态
    void GetDetectState();

    bool bUseEngine_;
    ai_matrix::DataSourceConfig dataSourceConfig_;
    std::string save_path_;
    std::string strPort0_;
    std::string strPort1_;
    std::string strPort2_;
    bool bCommandFlag_;     //命令触发识别模式
    bool bHwDecode_;
    bool bCollectDataFlag_;
    std::string strCollectDataSavePath_;
    bool bPushActualFlag_;  //是否实时推流-用于直播
    int iStepInter_ = 0;        //(0:不识别; 1:开始识别; 2:结束识别)
};

ENGINE_REGIST(ControlEngine)

#endif
