forked from arduino/arduino-cli
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcommon.proto
137 lines (122 loc) · 4.04 KB
/
common.proto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
// This file is part of arduino-cli.
//
// Copyright 2020 ARDUINO SA (http://www.arduino.cc/)
//
// This software is released under the GNU General Public License version 3,
// which covers the main part of arduino-cli.
// The terms of this license can be found at:
// https://www.gnu.org/licenses/gpl-3.0.en.html
//
// You can be released from the requirements of the above licenses by purchasing
// a commercial license. Buying such a license is mandatory if you want to
// modify or otherwise use the software for commercial activities involving the
// Arduino software without disclosing the source code of your own applications.
// To purchase a commercial license, send an email to [email protected].
syntax = "proto3";
package cc.arduino.cli.commands.v1;
option go_package = "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1;commands";
message Instance {
// The ID of the instance.
int32 id = 1;
}
message DownloadProgress {
oneof message {
DownloadProgressStart start = 1;
DownloadProgressUpdate update = 2;
DownloadProgressEnd end = 3;
}
}
message DownloadProgressStart {
// URL of the download.
string url = 1;
// The label to display on the progress bar.
string label = 2;
}
message DownloadProgressUpdate {
// Size of the downloaded portion of the file.
int64 downloaded = 1;
// Total size of the file being downloaded.
int64 total_size = 2;
}
message DownloadProgressEnd {
// True if the download is successful
bool success = 1;
// Info or error message, depending on the value of 'success'. Some examples:
// "File xxx already downloaded" or "Connection timeout"
string message = 2;
}
message TaskProgress {
// Description of the task.
string name = 1;
// Additional information about the task.
string message = 2;
// Whether the task is complete.
bool completed = 3;
// Amount in percent of the task completion (optional)
float percent = 4;
}
message Programmer {
string platform = 1;
string id = 2;
string name = 3;
}
message Platform {
// Platform ID (e.g., `arduino:avr`).
string id = 1;
// Version of the platform.
string installed = 2;
// Newest available version of the platform.
string latest = 3;
// Name used to identify the platform to humans (e.g., "Arduino AVR Boards").
string name = 4;
// Maintainer of the platform's package.
string maintainer = 5;
// A URL provided by the author of the platform's package, intended to point
// to their website.
string website = 6;
// Email of the maintainer of the platform's package.
string email = 7;
// List of boards provided by the platform. If the platform is installed,
// this is the boards listed in the platform's boards.txt. If the platform is
// not installed, this is an arbitrary list of board names provided by the
// platform author for display and may not match boards.txt.
repeated Board boards = 8;
// If true this Platform has been installed manually in the user' sketchbook
// hardware folder
bool manually_installed = 9;
// If true this Platform has been deprecated
bool deprecated = 10;
// Type of the platform.
repeated string type = 11;
// A URL provided by the author of the platform's package, intended to point
// to their online help service.
HelpResources help = 12;
}
message InstalledPlatformReference {
// Platform ID (e.g., `arduino:avr`).
string id = 1;
// Version of the platform.
string version = 2;
// Installation directory of the platform
string install_dir = 3;
// 3rd party platform URL
string package_url = 4;
}
message Board {
// Name used to identify the board to humans.
string name = 1;
// Fully qualified board name used to identify the board to machines. The FQBN
// is only available for installed boards.
string fqbn = 2;
}
message Profile {
// Name used to identify the profile within the sketch.
string name = 1;
// FQBN specified in the profile.
string fqbn = 2;
}
message HelpResources {
// A URL provided by the author of the platform's package, intended to point
// to their online help service.
string online = 1;
}