Goby3 3.2.3
2025.05.13
Loading...
Searching...
No Matches
protobuf.proto
Go to the documentation of this file.
1syntax = "proto2";
2import "goby/middleware/protobuf/app_config.proto";
3import "goby/protobuf/option_extensions.proto";
4
5package goby.apps.middleware.protobuf;
6
7message ProtobufToolConfig
8{
9 option (goby.msg).cfg.tool = {
10 is_tool: true
11 has_subtools: true
12 has_help_action: true
13 };
14
15 optional goby.middleware.protobuf.AppConfig app = 1
16 [(goby.field) = { cfg { action: DEVELOPER } }];
17
18 enum Action
19 {
20 help = 0 [(goby.ev).cfg = {
21 short_help_msg: "Print usage information",
22 full_help_msg: "Usage: \"goby protobuf help [action]\""
23 }];
24 show = 1 [(goby.ev).cfg = {
25 short_help_msg: "Display definition for message",
26 }];
27 }
28 optional Action action = 2 [
29 default = help,
30 (goby.field) = {
31 description: "The action this tool should take [can omit --action if 1st parameter]",
32 cfg { position: { enable: true }, cli_short: "A", action: HIDDEN }
33 }
34 ];
35}
36
37message ProtobufShowToolConfig
38{
39 option (goby.msg).cfg.tool = {
40 is_tool: true
41 has_subtools: false
42 has_help_action: false
43 };
44
45 optional goby.middleware.protobuf.AppConfig app = 1
46 [(goby.field) = { cfg { action: DEVELOPER } }];
47
48 repeated string name = 2 [(goby.field) = {
49 description: "Protobuf name for message to show.",
50 cfg { position: { enable: true max_count: -1 }, cli_short: "n" }
51 }];
52
53 optional string package_name = 3 [(goby.field) = {
54 description: "Common protobuf package (namespace) to prepend to 'name'",
55 cfg { cli_short: "p" }
56 }];
57
58 repeated string load_shared_library = 10 [(goby.field) = {
59 description: "Load this shared library containing compiled Protobuf/DCCL messages.",
60 cfg { cli_short: "l" env: "GOBY_TOOL_LOAD_SHARED_LIBRARY" }
61 }];
62}