Goby3 3.2.3
2025.05.13
Loading...
Searching...
No Matches
tool.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 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}