package openxc; message VehicleMessage { enum Type { RAW = 1; TRANSLATED = 2; } optional Type type = 1; optional RawMessage raw_message = 2; optional TranslatedMessage translated_message = 3; } message RawMessage { optional int32 bus = 1; optional uint32 message_id = 2; optional sint64 data = 3; } message TranslatedMessage { optional string name = 1; optional string string_value = 2; optional double numerical_value = 3; optional bool boolean_value = 4; optional string string_event = 5; optional double numerical_event = 6; optional bool boolean_event = 7; } // TODO we should also consider having an enum type, having each specific // message defined as a protobuf