Goby3 3.4.0
2026.04.13
Loading...
Searching...
No Matches
tool_config.proto
Go to the documentation of this file.
1// Copyright 2026:
2// GobySoft, LLC (2013-)
3// Community contributors (see AUTHORS file)
4// File authors:
5// Toby Schneider <toby@gobysoft.org>
6//
7//
8// This file is part of the Goby Underwater Autonomy Project Libraries
9// ("The Goby Libraries").
10//
11// The Goby Libraries are free software: you can redistribute them and/or modify
12// them under the terms of the GNU Lesser General Public License as published by
13// the Free Software Foundation, either version 2.1 of the License, or
14// (at your option) any later version.
15//
16// The Goby Libraries are distributed in the hope that they will be useful,
17// but WITHOUT ANY WARRANTY; without even the implied warranty of
18// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19// GNU Lesser General Public License for more details.
20//
21// You should have received a copy of the GNU Lesser General Public License
22// along with Goby. If not, see <http://www.gnu.org/licenses/>.
23
24syntax = "proto2";
25import "goby/middleware/protobuf/app_config.proto";
26import "goby/protobuf/option_extensions.proto";
27
28package goby.udpm.protobuf;
29
30message UDPMToolConfig
31{
32 option (goby.msg).cfg.tool = {
33 is_tool: true
34 has_subtools: true
35 has_help_action: true
36 };
37
38 optional goby.middleware.protobuf.AppConfig app = 1
39 [(goby.field) = { cfg { action: DEVELOPER } }];
40
41 enum Action
42 {
43 // tools
44 help = 0 [(goby.ev).cfg = {
45 short_help_msg: "Print usage information",
46 full_help_msg: "Usage: \"goby udpm help [action]\"\n"
47 }];
48 publish = 1 [(goby.ev).cfg = {
49 short_help_msg: "Publish a message (on interprocess)",
50 }];
51 subscribe = 2 [(goby.ev).cfg = {
52 short_help_msg: "Subscribe to messages (on interprocess)",
53 }];
54 }
55 optional Action action = 2 [
56 default = help,
57 (goby.field) = {
58 description: "The action this tool should take [can omit --action if 1st parameter]",
59 cfg { position: { enable: true }, cli_short: "A", action: HIDDEN }
60 }
61 ];
62}