#ifndef PLC_TASK_HH
#define PLC_TASK_HH
#include <string.h>

#include "../task/task_command_manager.h"
// #include "../error.h"
#include "../error_code/error_code.h"

struct measure_result
{
    int terminal_id;
    float x;
    float y;
    float angle;
    float length;
    float width;
    float height;
    float wheel_base;
    bool correctness;
};

class Plc_Task : public Task_Base
{
public:
    virtual Error_manager init();
    
    Plc_Task();
    ~Plc_Task();
    // 将测量结果存入该任务单
    Error_manager set_result(struct measure_result result);
    // 将测量结果传出
    Error_manager get_result(struct measure_result &result);
    // 获取测量结果是否已存入该任务单的指标
    bool get_result_set_flag();

private:
struct measure_result   m_measure_result;
bool                    mb_result_set_flag;
};

#endif // !PLC_TASK_HH
