2 import "goby/common/protobuf/option_extensions.proto";
4 package goby.moos.protobuf;
6 message TranslatorEntry
8 required string protobuf_name = 1
9 [(goby.field).description =
10 "Fully qualified name (including package, if any) of a DCCL "
11 "protobuf message to tag this parser to."];
20 optional Type type = 1 [default = TRIGGER_PUBLISH];
21 optional string moos_var = 2;
22 optional uint32 period = 3;
23 optional string mandatory_content = 4;
25 optional Trigger trigger = 2;
27 enum ParserSerializerTechnique
29 TECHNIQUE_PROTOBUF_TEXT_FORMAT = 1;
30 TECHNIQUE_PROTOBUF_NATIVE_ENCODED = 2;
31 TECHNIQUE_COMMA_SEPARATED_KEY_EQUALS_VALUE_PAIRS = 3;
33 TECHNIQUE_PREFIXED_PROTOBUF_TEXT_FORMAT = 5;
34 TECHNIQUE_PROTOBUF_NATIVE_HEX = 6;
35 TECHNIQUE_PREFIXED_PROTOBUF_NATIVE_HEX = 7;
36 TECHNIQUE_PREFIXED_PROTOBUF_NATIVE_ENCODED = 8;
41 optional ParserSerializerTechnique technique = 1
42 [default = TECHNIQUE_PROTOBUF_TEXT_FORMAT];
43 required string moos_var = 2;
44 optional string format = 3; // only for TECHNIQUE_FORMAT
45 optional string repeated_delimiter = 4
46 [default = ","]; // only for TECHNIQUE_FORMAT
50 required string name = 1;
51 required int32 primary_field = 2;
53 repeated Algorithm algorithm =
54 5; // only for TECHNIQUE_FORMAT and
55 // TECHNIQUE_COMMA_SEPARATED_KEY_EQUALS_VALUE_PAIRS
58 repeated CreateParser create = 3;
60 message PublishSerializer
62 optional ParserSerializerTechnique technique = 1
63 [default = TECHNIQUE_PROTOBUF_TEXT_FORMAT];
64 required string moos_var = 2;
65 optional string format = 3; // only for TECHNIQUE_FORMAT
66 optional string repeated_delimiter = 4
67 [default = ","]; // only for TECHNIQUE_FORMAT
71 required string name = 1;
72 required int32 output_virtual_field =
73 2; // provide a field number that's not actually in the message
74 // but can be used for format strings
75 required int32 primary_field = 3;
76 repeated int32 reference_field = 4;
79 repeated Algorithm algorithm =
80 5; // only for TECHNIQUE_FORMAT and
81 // TECHNIQUE_COMMA_SEPARATED_KEY_EQUALS_VALUE_PAIRS
83 repeated PublishSerializer publish = 4;
85 optional bool use_short_enum = 5 [default = false];