Goby3  3.1.5a
2024.05.23
tool.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 GobyToolConfig
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  // core tools
21  help = 0 [(goby.ev).cfg = {
22  short_help_msg: "Print usage information",
23  full_help_msg: "Usage: \"goby help [action]\"\n"
24  "Provides detailed usage information on the provided action.\n"
25  "Example: \"goby help log\" provides help in the 'log' action\n"
26  "\n"
27  "You can also override the help command line flag used by running, for example, \"goby help -hh log\" to pass \"-hh\" to \"goby log\" in order to show advanced command line options"
28 
29  }];
30  log = 1 [(goby.ev).cfg = {
31  short_help_msg: "Manage goby log files",
32  }];
33  launch = 2 [(goby.ev).cfg = {
34  short_help_msg: "Launch goby *.launch files",
35  external_command: "goby_launch"
36  include_binary_flag: false
37  }];
38 
39  // middleware/transport
40  zeromq = 10 [(goby.ev).cfg = {
41  short_help_msg: "Interact with ZeroMQ Goby pub/sub",
42  external_command: "goby_zeromq_tool"
43  }];
44 
45  // middleware/marshalling
46  protobuf = 20 [(goby.ev).cfg = {
47  short_help_msg: "Tools for the Google Protocol Buffers (protobuf) marshalling scheme"
48  }];
49  }
50  optional Action action = 2 [
51  default = help,
52  (goby.field) = {
53  description: "The action this tool should take [can omit --action if 1st parameter]",
54  cfg { position: { enable: true }, cli_short: "A", action: HIDDEN }
55  }
56  ];
57 }