File: device_request.proto

package info (click to toggle)
fwupd 2.0.20-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 32,504 kB
  • sloc: ansic: 277,388; python: 11,485; xml: 9,493; sh: 1,625; makefile: 167; cpp: 19; asm: 11; javascript: 9
file content (308 lines) | stat: -rw-r--r-- 7,166 bytes parent folder | download | duplicates (3)
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
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
/*
 * Copyright 1999-2023 Logitech, Inc.
 * All Rights Reserved
 *
 * SPDX-License-Identifier: LGPL-2.1-or-later
 */

syntax = "proto3";

package logi.device.proto;

option java_package = "com.logitech.vc.proto";

/**
 * For reboot schedule request defined here
 * https://docs.google.com/document/d/10pG89Cw_siDvnmsKxdLQqutIqegH6ouSnMon_G28Nyc/edit#bookmark=id.k0bz8vzzaj9
 */
message RebootSchedule
{
	/**
	 * The time to reboot.
	 * If this is empty and ts is non-zero, it means to clear the reboot schedule
	 */
	string when = 1;

	/**
	 * repeat mode defined here
	 * https://docs.google.com/document/d/1yQp8Ju82bDuVfHmprP_5ToUJbitK7kOjmj_71Cqc-do/edit#heading=h.k8yyuyddqj1v
	 */
	uint32 repeat = 2;

	/**
	 * timestamp the schedule request was made
	 */
	uint64 ts = 3;
}

/**
 * Request to reboot device
 * This is to be included in UsbMsg
 *
 * After the device receives this, the device should send a response,
 * followed by an mqtt event that conforms to device reboot or
 * schedule reboot defined here
 * https://docs.google.com/document/d/10pG89Cw_siDvnmsKxdLQqutIqegH6ouSnMon_G28Nyc/edit#bookmark=id.zcy4ldnyuij
 * and
 * https://docs.google.com/document/d/10pG89Cw_siDvnmsKxdLQqutIqegH6ouSnMon_G28Nyc/edit#bookmark=id.k0bz8vzzaj9
 *
 * EXPECTED RESPONSE
 * RebootDeviceResponse
 */
message RebootDeviceRequest
{
	/**
	 * Unused. Reserved for future use.
	 */
	bool reserved = 1;

	/**
	 *  A timestamp indicating when the reboot request
	 *	was initiated.
	 *  The device should include this entry as part of the event information
	 *   it sends back to PC during a reboot request.
	 */
	uint64 iat = 2;

	/**
	 * Below are newly defined attributes that includes rebootSchedule,
	 * and also tries to keep the request in-line with cloud request
	 * Note:
	 *   older versions of Sync app would not know about below
	 */
	/**
	 * (REQUIRED)Reboot strategy defined in
	 * https://docs.google.com/document/d/10pG89Cw_siDvnmsKxdLQqutIqegH6ouSnMon_G28Nyc/edit#
	 */
	uint32 strategy = 3;
	/**
	 * (REQUIRED) Same behavior as in Raiden Backend API
	 */
	bool rebootNow = 4;
	/**
	 * (OPTIONAL) Same behavior as in Raiden Backend API
	 */
	RebootSchedule schedule = 5;
	/**
	 * (REQUIRED) For device to distinguish between older request and new one that
	 *   support schedule reboot.
	 *   This defaults to 0 for older Sync app.  Sync app that supports
	 *   schedule reboot will pass with value 1.
	 */
	uint32 version = 6;

	/**
	 * (OPTIONAL)
	 *  serial number of the intended recipient of the command.
	 *  If empty, the receiver should handle the command as the intended recipient. This also
	 * handles backward compatibility with older Sync app where serial number is not defined.
	 *  Behavior for host and peripheral device: if command is for host device, host will
	 * handle command and forward the command to peripheral device as well.  If for peripheral
	 * device, host will just forward command to peripheral device.
	 */
	string serial_number = 7;
}

/**
 * Reboot device response
 */
message RebootDeviceResponse
{
	/**
	 * bool value to indicate reboot was requested.  If there are errors
	 * while requesting a device to reboot, should set the value to false
	 */
	bool success = 1;
}

/**
 * This message requests that the speaker boost audio setting be changed.
 * The device should send a device info event after this setting request are handled.
 *
 * EXPECTED RESPONSE
 * SetSpeakerBoostResponse
 *
 */
message SetSpeakerBoostRequest
{
	/**
	 * (REQUIRED) The speaker boost setting to be set
	 *
	 * If value is 0, the request is to disable.  If 1,
	 * the request is to enable.
	 */
	int32 speaker_boost = 1;
}

message SetSpeakerBoostResponse
{
	/**
	 * (REQUIRED) set to true if the audio setting request was successfully sent, false
	 * otherwise
	 */
	bool success = 1;
}

/**
 * This message requests that the noise reduction audio setting be changed.
 * The device should send a device info event after this setting request are handled.
 *
 * EXPECTED RESPONSE
 * SetNoiseReductionResponse
 *
 */
message SetNoiseReductionRequest
{
	/**
	 * (REQUIRED) The noise reduction setting to be set
	 *
	 * If value is 0, the request is to disable.  If 1,
	 * the request is to enable.
	 */
	int32 noise_reduction = 1;
}

message SetNoiseReductionResponse
{
	/**
	 * (REQUIRED) set to true if the audio setting request was successfully sent, false
	 * otherwise
	 */
	bool success = 1;
}

/**
 * This message requests that the reverb mode audio setting be changed.
 * The device should send a device info event after this setting request are handled.
 *
 * EXPECTED RESPONSE
 * SetReverbModeResponse
 *
 */
message SetReverbModeRequest
{
	/**
	 * Reverb mode enumeration
	 */
	enum ReverbMode {
		DISABLED = 0;
		MILD = 1;
		NORMAL = 2;
		AGGRESSIVE = 3;
	}

	/**
	 * (REQUIRED) The reverb mode setting to be set
	 *
	 *  see Reverb mode enumeration
	 */
	ReverbMode reverb_mode = 1;
}

message SetReverbModeResponse
{
	/**
	 * (REQUIRED) set to true if the setting request was successfully sent, false otherwise
	 */
	bool success = 1;
}

/**
 * This message requests that the microphone eq mode audio setting be changed.
 * The device should send a device info event after this setting request are handled.
 *
 * EXPECTED RESPONSE
 * SetMicEQModeResponse
 *
 */
message SetMicEQModeRequest
{
	/**
	 * MicEQ mode enumeration
	 */
	enum MicEQMode {
		BASSBOOST = 0;
		NORMAL = 1;
		VOICEBOOST = 2;
	}

	/**
	 * (REQUIRED) The microphone eq setting to be set
	 *
	 *  see MicEQ mode enumeration
	 */
	MicEQMode mic_eq_mode = 1;
}

message SetMicEQModeResponse
{
	/**
	 * (REQUIRED) set to true if the setting request was successfully sent, false otherwise
	 */
	bool success = 1;
}

/**
 * This message requests that the speaker eq mode audio setting be changed.
 * The device should send a device info event after this setting request are handled.
 *
 * EXPECTED RESPONSE
 * SetSpeakerEQModeResponse
 *
 */
message SetSpeakerEQModeRequest
{
	/**
	 * SpeakerEQ mode enumeration
	 */
	enum SpeakerEQMode {
		BASSBOOST = 0;
		NORMAL = 1;
		VOICEBOOST = 2;
	}

	/**
	 * (REQUIRED) The speaker eq setting to be set
	 *
	 *  see SpeakerEQ mode enumeration
	 */
	SpeakerEQMode speaker_eq_mode = 1;
}

message SetSpeakerEQModeResponse
{
	/**
	 * (REQUIRED) set to true if the setting request was successfully sent, false otherwise
	 */
	bool success = 1;
}

/**
 * This message requests that the device forgets a peripheral.
 * After forgetting the peripheral, the device should send ForgetDeviceResponse
 * and indicate success or false.
 * The device should also send a device info event after sending the response
 * to indicate the new peripheral state.
 * Note: micpod uid comes from device in this format "uid": "33",
 *   but Sync stores this as hex string , like  uuid: "0x0021".
 *   Sync app will send the uuid in hex string format.
 * EXPECTED RESPONSE
 * ForgetDeviceResponse
 *
 */
message ForgetDeviceRequest
{
	/**
	 * (REQUIRED) The uuid of peripheral to forget
	 *
	 */
	string uuid = 1;
}

message ForgetDeviceResponse
{
	/**
	 * (REQUIRED) set to true if forget request was successfully handled
	 */
	bool success = 1;
}