syntax = "proto2";
package message;
import "message_base.proto";
import "parkspace_allocation_message.proto";    //数据库消息
import "measure_message.proto";                 //测量消息
import "dispatch_message.proto";                //调度消息
import "central_control_message.proto";         //手动操作消息


//与节点通讯数据，请求反馈数据
message Node_log
{
    oneof   request{
        Parkspace_allocation_request_msg    alloc_request=1;
        Parkspace_search_request_msg        search_request=3;
        Parkspace_release_request_msg       release_request=5;
        Parkspace_confirm_alloc_request_msg     confirm_request=7;
        Measure_request_msg                 measure_request=9;
        Dispatch_request_msg                dispatch_request=11;
    }
    oneof   response{
        Parkspace_allocation_response_msg   alloc_response=2;
        Parkspace_search_response_msg       search_response=4;
        Parkspace_release_response_msg      release_response=6;
        Parkspace_confirm_alloc_response_msg    confirm_response=8;
        Measure_response_msg                measure_response=10;
        Dispatch_response_msg               dispatch_response=12;
    }
    optional string         description=13;
}

//手动操作数据
message Manual_operation_log
{
    required    Process_manual_operation_msg        manual_operation=1;
    optional    string                              description=2;
}

message Log_data
{
    enum Severity
    {
        INFO=0;
        WARNING=1;
        ERROR=2;
    }
    required Severity      log_severity=1;
    oneof    data               {
            string          str_log=2;
            Node_log        node_log=3;
            Manual_operation_log    manual_operator_log=4;
    }
}

message Process_log
{
    required Process_type       process_type=1;
    repeated Log_data           log_data=2;
}
