syntax = "proto2";
package message;
import "message_base.proto";


//针对流程的手动操作类型
enum Process_operation_type
{
    eManual_cancel=0;                   //取消流程
    eManual_retry=1;                    //重试
    eManual_ignore=2;                   //忽略
}

enum Module_statu
{
    eConnected=0;               //连接
    eDisconnected=1;            //连接丢失
    eFault=2;                   //故障
}

//出入口状态
message Entrance_statu
{
    required    bool                paused=1;
    optional    Module_statu        parkspace_statu=2;
    optional    Module_statu        dispatch_statu=3;
    optional    Module_statu        notify_statu=4;
}

//中控状态消息
message Central_controller_statu_msg
{
    required Base_info                  base_info=1;                 //消息类型
    repeated Entrance_statu             entrance_statu_vector=2;    //入口状态(关闭或者开放)
    repeated Entrance_statu             export_statu_vector=3;      //出口状态
}

//出入口手动急停/启动消息
message Entrance_manual_operation_msg
{
    required Base_info                  base_info=1;
    required int32                      terminal_id=2;
    required Process_type               process_type=3;
    required bool                       paused=4;           //是否急停
}

//流程手动操作消息
message Process_manual_operation_msg
{
    required Base_info                  base_info=1;
    required string                     license=2;
    required Step_type                  step_type=3;
    required Process_operation_type     operate_type=4;
}


