3 import "goby/protobuf/option_extensions.proto";
4 import "goby/middleware/protobuf/app_config.proto";
5 import "goby/middleware/protobuf/layer.proto";
6 import "goby/zeromq/protobuf/interprocess_config.proto";
7 import "goby/acomms/protobuf/network_ack.proto";
9 package goby.apps.zeromq.protobuf;
13 optional goby.middleware.protobuf.AppConfig app = 1;
14 optional goby.zeromq.protobuf.InterProcessPortalConfig interprocess = 2 [(goby.field) = { cfg { env: "GOBY_INTERPROCESS" } }];
17 optional string http_address = 10 [
18 default = "localhost",
19 (goby.field).description =
20 "address to bind on; same as Wt --http-address"
22 optional uint32 http_port = 11 [
24 (goby.field).description =
25 "address to bind on; same as Wt --http-port"
28 optional string docroot = 12 [
29 default = "/usr/share/goby/liaison",
30 (goby.field).description =
31 "path to static objects (e.g. images) root; same as Wt --docroot"
34 optional string additional_wt_http_params = 13
35 [(goby.field).example = "--accesslog=/tmp/access.log"];
36 optional float update_freq = 14 [default = 5];
38 repeated string load_shared_library = 15
39 [(goby.field).description =
40 "Path to a shared library containing compiled Protobuf files. "
41 "Preferred over load_proto_file."];
42 repeated string load_proto_file = 16
43 [(goby.field).description =
44 "Path to a .proto file. Use load_shared_library when possible."];
45 repeated string load_proto_dir = 17
46 [(goby.field).description =
47 "Directory containing .proto files to load. Use "
48 "load_shared_library when possible."];
50 optional bool start_paused = 18 [default = false];
52 optional string upper_right_logo = 19
53 [(goby.field).description =
54 "Image for upper right, relative to docroot"];
55 optional string upper_right_logo_link = 20
56 [(goby.field).description = "Hyperlink for upper right image"];
59 optional bool add_home_tab = 21 [default = true];
60 optional bool add_scope_tab = 22 [default = true];
61 optional bool add_commander_tab = 23 [default = true];
63 optional ProtobufCommanderConfig pb_commander_config = 900;
64 optional ProtobufScopeConfig pb_scope_config = 901;
66 // MOOS - 1000 to 1099
70 // private: 10000-11000
71 extensions 1000 to max;
74 message ProtobufCommanderConfig
78 required string name = 1;
82 required string group = 1;
83 optional uint32 group_numeric = 2 [default = 0];
84 optional string group_numeric_field_name = 3;
85 optional goby.middleware.protobuf.Layer layer = 4
86 [default = LAYER_INTERPROCESS];
88 repeated GroupLayer publish_to = 2;
92 required string name = 1;
93 required string group = 2;
96 required string from = 1;
97 required string to = 2;
99 repeated Translation translate = 3;
101 repeated ExternalData external_data = 3;
103 repeated LoadProtobuf load_protobuf = 1;
105 optional int32 value_width_pixels = 10 [default = 500];
106 optional int32 modify_width_pixels = 11 [default = 100];
107 optional int32 external_data_width_pixels = 12 [default = 100];
109 optional string sqlite3_database = 20
110 [default = "/tmp/liaison_commander_autosave.db"];
111 optional int32 database_pool_size = 21 [default = 10];
112 optional int32 database_view_height = 5 [default = 400];
116 option allow_alias = true;
128 message DatabaseColumnWidthPixels
130 optional int32 comment_width = 1 [default = 180];
131 optional int32 name_width = 2 [default = 180];
132 optional int32 group_width = 3 [default = 120];
133 optional int32 layer_width = 4 [default = 120];
134 optional int32 ip_width = 5 [default = 120];
135 optional int32 time_width = 6 [default = 120];
136 optional int32 last_ack_width = 7 [default = 120];
138 optional DatabaseColumnWidthPixels database_width = 22;
140 message ModalDialogDimensions
142 optional int32 width = 1 [default = 800];
143 optional int32 height = 2 [default = 200];
145 optional ModalDialogDimensions modal_dimensions = 23;
147 message NotificationSubscription
149 required string type_regex = 1;
150 required string group_regex = 2;
154 required int32 r = 1;
155 required int32 g = 2;
156 required int32 b = 3;
157 optional int32 a = 4 [default = 255];
160 optional Color background_color = 3;
163 repeated NotificationSubscription notify_subscribe = 30;
165 enum ExternalDataColumn
167 option allow_alias = true;
169 EXTERNAL_DATA_COLUMN_NAME = 0;
170 EXTERNAL_DATA_COLUMN_GROUP = 1;
171 EXTERNAL_DATA_COLUMN_TIME = 2;
172 EXTERNAL_DATA_COLUMN_VALUE = 3;
173 EXTERNAL_DATA_COLUMN_MAX = 3;
176 message DatabaseExternalDataColumnWidthPixels
178 optional int32 name_width = 1 [default = 180];
179 optional int32 group_width = 2 [default = 120];
180 optional int32 time_width = 3 [default = 120];
181 optional int32 value_width = 4 [default = 400];
183 optional DatabaseExternalDataColumnWidthPixels external_database_width = 40;
185 // optional string time_source_var = 40;
187 // optional string network_ack_var = 41 [default = "ACOMMS_NETWORK_ACK"];
190 message ProtobufScopeConfig
194 option allow_alias = true;
203 message ColumnWidthPixels
205 optional int32 group_width = 1 [default = 150];
206 optional int32 type_width = 2 [default = 150];
207 optional int32 value_width = 3 [default = 400];
208 optional int32 time_width = 4 [default = 150];
210 optional ColumnWidthPixels column_width = 2;
211 optional Column sort_by_column = 3 [default = COLUMN_GROUP];
212 optional bool sort_ascending = 4 [default = true];
213 optional int32 scope_height = 5 [default = 500];
214 optional int32 history_height = 6 [default = 300];
216 optional string group_regex_filter_expression = 7 [default = ".*"];
217 optional string type_regex_filter_expression = 8 [default = ".*"];
219 message HistoryConfig
221 required string group = 1;
222 // optional bool show_plot = 2 [default = false];
223 // optional int32 plot_width = 3 [default = 800];
224 // optional int32 plot_height = 4 [default = 300];
227 repeated HistoryConfig history = 9;
229 optional int32 max_history_items = 10 [default = 100];
231 optional int32 max_message_size_bytes = 20 [default = 2048];
235 message NetworkAckSet
237 optional uint64 newest_ack_time = 1;
238 repeated goby.acomms.protobuf.NetworkAck ack = 2;