Goby3  3.1.5a
2024.05.23
protobuf.proto
Go to the documentation of this file.
1 syntax = "proto2";
2 import "goby/middleware/protobuf/app_config.proto";
3 import "goby/protobuf/option_extensions.proto";
4 
5 package goby.apps.middleware.protobuf;
6 
7 message 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 
37 message 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 }