motorcortex-python 1.0.0rc1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1961 @@
1
+ """
2
+ @generated by mypy-protobuf. Do not edit manually!
3
+ isort:skip_file
4
+ *
5
+
6
+ Description of the motorcortex-core message.
7
+
8
+ All core data types, enumerators and RPC messages are defined here.
9
+
10
+ Version 1.0.0
11
+ """
12
+
13
+ from collections import abc as _abc
14
+ from google.protobuf import descriptor as _descriptor
15
+ from google.protobuf import message as _message
16
+ from google.protobuf.internal import containers as _containers
17
+ from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper
18
+ import builtins as _builtins
19
+ import sys
20
+ import typing as _typing
21
+
22
+ if sys.version_info >= (3, 10):
23
+ from typing import TypeAlias as _TypeAlias
24
+ else:
25
+ from typing_extensions import TypeAlias as _TypeAlias
26
+
27
+ DESCRIPTOR: _descriptor.FileDescriptor
28
+
29
+ class _Unit:
30
+ ValueType = _typing.NewType("ValueType", _builtins.int)
31
+ V: _TypeAlias = ValueType # noqa: Y015
32
+
33
+ class _UnitEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[_Unit.ValueType], _builtins.type):
34
+ DESCRIPTOR: _descriptor.EnumDescriptor
35
+ unit_undefined: _Unit.ValueType # 0
36
+ Length: _Unit.ValueType # 15
37
+ """Length mask 0xf"""
38
+ mm: _Unit.ValueType # 1
39
+ """millimeters 0x1"""
40
+ m: _Unit.ValueType # 2
41
+ """meters 0x2"""
42
+ Angle: _Unit.ValueType # 241
43
+ """Angle mask 0xf1"""
44
+ rad: _Unit.ValueType # 49
45
+ """radians 0x31"""
46
+ deg: _Unit.ValueType # 65
47
+ """degrees 0x41"""
48
+ Time: _Unit.ValueType # 242
49
+ """Time mask 0xf2"""
50
+ nanosec: _Unit.ValueType # 18
51
+ """nanoseconds 0x12"""
52
+ microsec: _Unit.ValueType # 34
53
+ """microseconds 0x22"""
54
+ millisec: _Unit.ValueType # 50
55
+ """milliseconds 0x32"""
56
+ sec: _Unit.ValueType # 66
57
+ """seconds 0x42"""
58
+ Weight: _Unit.ValueType # 243
59
+ """Weight mask 0xf3"""
60
+ gram: _Unit.ValueType # 19
61
+ """grams 0x13"""
62
+ kg: _Unit.ValueType # 35
63
+ """kilograms 0x23"""
64
+ Velocity: _Unit.ValueType # 244
65
+ """Velocity mask 0xf4"""
66
+ m_sec: _Unit.ValueType # 20
67
+ """linear velocity, meters per second 0x14"""
68
+ rad_sec: _Unit.ValueType # 36
69
+ """angular velocity, radians per second 0x24"""
70
+ Acceleration: _Unit.ValueType # 245
71
+ """Acceleration mask 0xf5"""
72
+ m_sec2: _Unit.ValueType # 21
73
+ """linear acceleration meters per second^2 0x15"""
74
+ rad_sec2: _Unit.ValueType # 37
75
+ """angular acceleration radians per second^2 0x25"""
76
+ Force: _Unit.ValueType # 246
77
+ """Force mask 0xf6"""
78
+ N: _Unit.ValueType # 22
79
+ """force, newtons 0x16"""
80
+ Nm: _Unit.ValueType # 38
81
+ """torque, newton-metres 0x26"""
82
+ percent: _Unit.ValueType # 23
83
+ """percentages 0x17"""
84
+
85
+ class Unit(_Unit, metaclass=_UnitEnumTypeWrapper):
86
+ """*
87
+
88
+ Some SI units.
89
+ """
90
+
91
+ unit_undefined: Unit.ValueType # 0
92
+ Length: Unit.ValueType # 15
93
+ """Length mask 0xf"""
94
+ mm: Unit.ValueType # 1
95
+ """millimeters 0x1"""
96
+ m: Unit.ValueType # 2
97
+ """meters 0x2"""
98
+ Angle: Unit.ValueType # 241
99
+ """Angle mask 0xf1"""
100
+ rad: Unit.ValueType # 49
101
+ """radians 0x31"""
102
+ deg: Unit.ValueType # 65
103
+ """degrees 0x41"""
104
+ Time: Unit.ValueType # 242
105
+ """Time mask 0xf2"""
106
+ nanosec: Unit.ValueType # 18
107
+ """nanoseconds 0x12"""
108
+ microsec: Unit.ValueType # 34
109
+ """microseconds 0x22"""
110
+ millisec: Unit.ValueType # 50
111
+ """milliseconds 0x32"""
112
+ sec: Unit.ValueType # 66
113
+ """seconds 0x42"""
114
+ Weight: Unit.ValueType # 243
115
+ """Weight mask 0xf3"""
116
+ gram: Unit.ValueType # 19
117
+ """grams 0x13"""
118
+ kg: Unit.ValueType # 35
119
+ """kilograms 0x23"""
120
+ Velocity: Unit.ValueType # 244
121
+ """Velocity mask 0xf4"""
122
+ m_sec: Unit.ValueType # 20
123
+ """linear velocity, meters per second 0x14"""
124
+ rad_sec: Unit.ValueType # 36
125
+ """angular velocity, radians per second 0x24"""
126
+ Acceleration: Unit.ValueType # 245
127
+ """Acceleration mask 0xf5"""
128
+ m_sec2: Unit.ValueType # 21
129
+ """linear acceleration meters per second^2 0x15"""
130
+ rad_sec2: Unit.ValueType # 37
131
+ """angular acceleration radians per second^2 0x25"""
132
+ Force: Unit.ValueType # 246
133
+ """Force mask 0xf6"""
134
+ N: Unit.ValueType # 22
135
+ """force, newtons 0x16"""
136
+ Nm: Unit.ValueType # 38
137
+ """torque, newton-metres 0x26"""
138
+ percent: Unit.ValueType # 23
139
+ """percentages 0x17"""
140
+ Global___Unit: _TypeAlias = Unit # noqa: Y015
141
+
142
+ class _UserGroup:
143
+ ValueType = _typing.NewType("ValueType", _builtins.int)
144
+ V: _TypeAlias = ValueType # noqa: Y015
145
+
146
+ class _UserGroupEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[_UserGroup.ValueType], _builtins.type):
147
+ DESCRIPTOR: _descriptor.EnumDescriptor
148
+ user_group_undefined: _UserGroup.ValueType # 0
149
+ SYSTEM: _UserGroup.ValueType # 1
150
+ """System group has full access. It is not available for the users."""
151
+ ADMINISTRATOR: _UserGroup.ValueType # 3
152
+ """Administrator group has full access, except for system-level parameters."""
153
+ OPERATOR: _UserGroup.ValueType # 7
154
+ """Operator has full read access and limited write access for the inputs only"""
155
+ MONITOR: _UserGroup.ValueType # 15
156
+ """Monitor has full read access and no write access."""
157
+
158
+ class UserGroup(_UserGroup, metaclass=_UserGroupEnumTypeWrapper):
159
+ """*
160
+
161
+ Available user groups.
162
+
163
+ Group determines an access level of the user. Users can belong to one group: Administrator, Operator or Guest.
164
+ System is reserved for internal motorcortex-core use.
165
+ By default Operator cannot read or write Administrator's related parameters. The administrator has a full access
166
+ to the Operator's data.
167
+
168
+ Group access can be reconfigured in C++ server code or in the server configuration file. Furthermore, parameterization
169
+ of the access can be done by setting permission level (Permission) of the parameter.
170
+ """
171
+
172
+ user_group_undefined: UserGroup.ValueType # 0
173
+ SYSTEM: UserGroup.ValueType # 1
174
+ """System group has full access. It is not available for the users."""
175
+ ADMINISTRATOR: UserGroup.ValueType # 3
176
+ """Administrator group has full access, except for system-level parameters."""
177
+ OPERATOR: UserGroup.ValueType # 7
178
+ """Operator has full read access and limited write access for the inputs only"""
179
+ MONITOR: UserGroup.ValueType # 15
180
+ """Monitor has full read access and no write access."""
181
+ Global___UserGroup: _TypeAlias = UserGroup # noqa: Y015
182
+
183
+ class _Permission:
184
+ ValueType = _typing.NewType("ValueType", _builtins.int)
185
+ V: _TypeAlias = ValueType # noqa: Y015
186
+
187
+ class _PermissionEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[_Permission.ValueType], _builtins.type):
188
+ DESCRIPTOR: _descriptor.EnumDescriptor
189
+ permission_undefined: _Permission.ValueType # 0
190
+ USER_READ: _Permission.ValueType # 256
191
+ """owner user read -r--------"""
192
+ USER_WRITE: _Permission.ValueType # 128
193
+ """owner user write --w-------"""
194
+ USER_EXECUTE: _Permission.ValueType # 64
195
+ """owner user execute ---e------"""
196
+ GROUP_READ: _Permission.ValueType # 32
197
+ """owner group read ----r-----"""
198
+ GROUP_WRITE: _Permission.ValueType # 16
199
+ """owner group write -----w----"""
200
+ GROUP_EXECUTE: _Permission.ValueType # 8
201
+ """owner group execute ------e---"""
202
+ OTHERS_READ: _Permission.ValueType # 4
203
+ """other users read -------r--"""
204
+ OTHERS_WRITE: _Permission.ValueType # 2
205
+ """other users write --------w-"""
206
+ OTHERS_EXECUTE: _Permission.ValueType # 1
207
+ """other users ---------e"""
208
+
209
+ class Permission(_Permission, metaclass=_PermissionEnumTypeWrapper):
210
+ """*
211
+
212
+ Available parameters' permissions. Different users/groups may require access to different and/or protected parts of
213
+ the parameter tree. Permission flags allow fine-tuning access levels of the groups.
214
+
215
+ The Motorcortex permissions structure is similar to that of Unix file permissions. Permissions are represented
216
+ either in symbolic notation or in octal notation. (Note: User rights are not yet implemented, instead use Group rights)
217
+
218
+ For example:
219
+
220
+ ---------- (0000): no permission
221
+
222
+ -rwx------ (0700): read, write, & execute only for owner (Note: currently not implemented, user group flags instead)
223
+
224
+ -rwxrwx--- (0770): read, write, & execute for owner and group (Note: execute flag is used as a permission to open folders)
225
+
226
+ -rwxrwxr-x (0775): read, write, & execute for owner and group, read & execute for all others.
227
+
228
+ -rwxrwxrwx (0777): full access
229
+ """
230
+
231
+ permission_undefined: Permission.ValueType # 0
232
+ USER_READ: Permission.ValueType # 256
233
+ """owner user read -r--------"""
234
+ USER_WRITE: Permission.ValueType # 128
235
+ """owner user write --w-------"""
236
+ USER_EXECUTE: Permission.ValueType # 64
237
+ """owner user execute ---e------"""
238
+ GROUP_READ: Permission.ValueType # 32
239
+ """owner group read ----r-----"""
240
+ GROUP_WRITE: Permission.ValueType # 16
241
+ """owner group write -----w----"""
242
+ GROUP_EXECUTE: Permission.ValueType # 8
243
+ """owner group execute ------e---"""
244
+ OTHERS_READ: Permission.ValueType # 4
245
+ """other users read -------r--"""
246
+ OTHERS_WRITE: Permission.ValueType # 2
247
+ """other users write --------w-"""
248
+ OTHERS_EXECUTE: Permission.ValueType # 1
249
+ """other users ---------e"""
250
+ Global___Permission: _TypeAlias = Permission # noqa: Y015
251
+
252
+ class _DataType:
253
+ ValueType = _typing.NewType("ValueType", _builtins.int)
254
+ V: _TypeAlias = ValueType # noqa: Y015
255
+
256
+ class _DataTypeEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[_DataType.ValueType], _builtins.type):
257
+ DESCRIPTOR: _descriptor.EnumDescriptor
258
+ data_type_undefined: _DataType.ValueType # 0
259
+ INT8: _DataType.ValueType # 1
260
+ """integer 1 byte"""
261
+ UINT8: _DataType.ValueType # 2
262
+ """unsigned integer 1 byte"""
263
+ INT16: _DataType.ValueType # 3
264
+ """short int"""
265
+ UINT16: _DataType.ValueType # 4
266
+ """unsigned short int"""
267
+ INT32: _DataType.ValueType # 5
268
+ """int"""
269
+ UINT32: _DataType.ValueType # 6
270
+ """unsigned int"""
271
+ INT64: _DataType.ValueType # 7
272
+ """long"""
273
+ UINT64: _DataType.ValueType # 8
274
+ """unsigned long"""
275
+ BOOL: _DataType.ValueType # 9
276
+ """boolean"""
277
+ FLOAT: _DataType.ValueType # 257
278
+ """float"""
279
+ DOUBLE: _DataType.ValueType # 258
280
+ """double"""
281
+ CHAR: _DataType.ValueType # 513
282
+ """char"""
283
+ STRING: _DataType.ValueType # 514
284
+ """C-string"""
285
+ BYTES: _DataType.ValueType # 1177
286
+ """bytes array"""
287
+ USER_TYPE: _DataType.ValueType # 1280
288
+ """end of the system types"""
289
+
290
+ class DataType(_DataType, metaclass=_DataTypeEnumTypeWrapper):
291
+ """*
292
+
293
+ Available data types.
294
+
295
+ Data types supported by a parameter server.
296
+
297
+ User data types can be added after the tag USER_TYPE.
298
+ """
299
+
300
+ data_type_undefined: DataType.ValueType # 0
301
+ INT8: DataType.ValueType # 1
302
+ """integer 1 byte"""
303
+ UINT8: DataType.ValueType # 2
304
+ """unsigned integer 1 byte"""
305
+ INT16: DataType.ValueType # 3
306
+ """short int"""
307
+ UINT16: DataType.ValueType # 4
308
+ """unsigned short int"""
309
+ INT32: DataType.ValueType # 5
310
+ """int"""
311
+ UINT32: DataType.ValueType # 6
312
+ """unsigned int"""
313
+ INT64: DataType.ValueType # 7
314
+ """long"""
315
+ UINT64: DataType.ValueType # 8
316
+ """unsigned long"""
317
+ BOOL: DataType.ValueType # 9
318
+ """boolean"""
319
+ FLOAT: DataType.ValueType # 257
320
+ """float"""
321
+ DOUBLE: DataType.ValueType # 258
322
+ """double"""
323
+ CHAR: DataType.ValueType # 513
324
+ """char"""
325
+ STRING: DataType.ValueType # 514
326
+ """C-string"""
327
+ BYTES: DataType.ValueType # 1177
328
+ """bytes array"""
329
+ USER_TYPE: DataType.ValueType # 1280
330
+ """end of the system types"""
331
+ Global___DataType: _TypeAlias = DataType # noqa: Y015
332
+
333
+ class _ParameterType:
334
+ ValueType = _typing.NewType("ValueType", _builtins.int)
335
+ V: _TypeAlias = ValueType # noqa: Y015
336
+
337
+ class _ParameterTypeEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[_ParameterType.ValueType], _builtins.type):
338
+ DESCRIPTOR: _descriptor.EnumDescriptor
339
+ param_type_undefined: _ParameterType.ValueType # 0
340
+ INPUT: _ParameterType.ValueType # 1
341
+ """Input parameter."""
342
+ OUTPUT: _ParameterType.ValueType # 16
343
+ """Output parameter."""
344
+ PARAMETER: _ParameterType.ValueType # 256
345
+ """Input/output parameter, which is saved and loaded from the disk on request."""
346
+ PARAMETER_VOLATILE: _ParameterType.ValueType # 257
347
+ """Input/output parameter, which is valotile, not saved or loaded from the disk."""
348
+ PARAMETER_PERSISTENT: _ParameterType.ValueType # 258
349
+ """Input/output parameter, which is persistent, continuously saved and loaded from the disk."""
350
+
351
+ class ParameterType(_ParameterType, metaclass=_ParameterTypeEnumTypeWrapper):
352
+ """*
353
+
354
+ Parameter's IO types.
355
+
356
+ Each parameter in the tree can be an INPUT, an OUTPUT or a PARAMETER.
357
+
358
+ PARAMETER type is both an input and output, it can be saved and loaded from the disk.
359
+
360
+ Value of a parameter with OUTPUT type cannot be set, but can be overwritten (forced). Force operation
361
+ on the OUTPUT will only change the parameter value on everything that is linked to it. It will
362
+ NOT change the internal value of the block to which the output belongs.
363
+ """
364
+
365
+ param_type_undefined: ParameterType.ValueType # 0
366
+ INPUT: ParameterType.ValueType # 1
367
+ """Input parameter."""
368
+ OUTPUT: ParameterType.ValueType # 16
369
+ """Output parameter."""
370
+ PARAMETER: ParameterType.ValueType # 256
371
+ """Input/output parameter, which is saved and loaded from the disk on request."""
372
+ PARAMETER_VOLATILE: ParameterType.ValueType # 257
373
+ """Input/output parameter, which is valotile, not saved or loaded from the disk."""
374
+ PARAMETER_PERSISTENT: ParameterType.ValueType # 258
375
+ """Input/output parameter, which is persistent, continuously saved and loaded from the disk."""
376
+ Global___ParameterType: _TypeAlias = ParameterType # noqa: Y015
377
+
378
+ class _StatusCode:
379
+ ValueType = _typing.NewType("ValueType", _builtins.int)
380
+ V: _TypeAlias = ValueType # noqa: Y015
381
+
382
+ class _StatusCodeEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[_StatusCode.ValueType], _builtins.type):
383
+ DESCRIPTOR: _descriptor.EnumDescriptor
384
+ OK: _StatusCode.ValueType # 0
385
+ """Request was processed successfully."""
386
+ READ_ONLY_MODE: _StatusCode.ValueType # 1
387
+ """Login is successful, but user has read-only right."""
388
+ FAILED: _StatusCode.ValueType # 65280
389
+ """Generic failure mask."""
390
+ FAILED_TO_DECODE: _StatusCode.ValueType # 4096
391
+ """Failed to decode request message."""
392
+ SUB_LIST_IS_FULL: _StatusCode.ValueType # 4352
393
+ """Failed to subscribe for a parameter, because subscription list is full. Create new parameter group."""
394
+ WRONG_PARAMETER_PATH: _StatusCode.ValueType # 4608
395
+ """Failed to find parameter, because requested path is wrong."""
396
+ FAILED_TO_SET_REQUESTED_FRQ: _StatusCode.ValueType # 4864
397
+ """When several clients share the same publisher's group, original publishing frequency is preserved."""
398
+ FAILED_TO_OPEN_FILE: _StatusCode.ValueType # 5120
399
+ """Failed to open/save/load a file."""
400
+ GROUP_LIST_IS_FULL: _StatusCode.ValueType # 5376
401
+ """Failed to create new group, because the group list is full. Release at least one group."""
402
+ WRONG_PASSWORD: _StatusCode.ValueType # 8448
403
+ """Login failed, wrong login or password."""
404
+ USER_NOT_LOGGED_IN: _StatusCode.ValueType # 8704
405
+ """Operation not permitted, because user is not logged in."""
406
+ PERMISSION_DENIED: _StatusCode.ValueType # 8960
407
+ """Permission denied because user has no access rights."""
408
+
409
+ class StatusCode(_StatusCode, metaclass=_StatusCodeEnumTypeWrapper):
410
+ """*
411
+
412
+ Return status codes.
413
+
414
+ Return status codes are included in the reply for every user's request. Using these
415
+ codes user can verify if request was successful or there was a failure.
416
+ """
417
+
418
+ OK: StatusCode.ValueType # 0
419
+ """Request was processed successfully."""
420
+ READ_ONLY_MODE: StatusCode.ValueType # 1
421
+ """Login is successful, but user has read-only right."""
422
+ FAILED: StatusCode.ValueType # 65280
423
+ """Generic failure mask."""
424
+ FAILED_TO_DECODE: StatusCode.ValueType # 4096
425
+ """Failed to decode request message."""
426
+ SUB_LIST_IS_FULL: StatusCode.ValueType # 4352
427
+ """Failed to subscribe for a parameter, because subscription list is full. Create new parameter group."""
428
+ WRONG_PARAMETER_PATH: StatusCode.ValueType # 4608
429
+ """Failed to find parameter, because requested path is wrong."""
430
+ FAILED_TO_SET_REQUESTED_FRQ: StatusCode.ValueType # 4864
431
+ """When several clients share the same publisher's group, original publishing frequency is preserved."""
432
+ FAILED_TO_OPEN_FILE: StatusCode.ValueType # 5120
433
+ """Failed to open/save/load a file."""
434
+ GROUP_LIST_IS_FULL: StatusCode.ValueType # 5376
435
+ """Failed to create new group, because the group list is full. Release at least one group."""
436
+ WRONG_PASSWORD: StatusCode.ValueType # 8448
437
+ """Login failed, wrong login or password."""
438
+ USER_NOT_LOGGED_IN: StatusCode.ValueType # 8704
439
+ """Operation not permitted, because user is not logged in."""
440
+ PERMISSION_DENIED: StatusCode.ValueType # 8960
441
+ """Permission denied because user has no access rights."""
442
+ Global___StatusCode: _TypeAlias = StatusCode # noqa: Y015
443
+
444
+ class _ErrorLevel:
445
+ ValueType = _typing.NewType("ValueType", _builtins.int)
446
+ V: _TypeAlias = ValueType # noqa: Y015
447
+
448
+ class _ErrorLevelEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[_ErrorLevel.ValueType], _builtins.type):
449
+ DESCRIPTOR: _descriptor.EnumDescriptor
450
+ error_level_undefined: _ErrorLevel.ValueType # 0
451
+ INFO: _ErrorLevel.ValueType # 1
452
+ """Information message."""
453
+ WARNING: _ErrorLevel.ValueType # 2
454
+ """Warning message."""
455
+ FORCED_DISENGAGE: _ErrorLevel.ValueType # 3
456
+ """Graceful software stop, caused by a hardware malfunction or a wrong user actions."""
457
+ SHUTDOWN: _ErrorLevel.ValueType # 4
458
+ """More abrupt software stop, caused by a hardware malfunction."""
459
+ EMERGENCY_STOP: _ErrorLevel.ValueType # 5
460
+ """Abrupt software and hardware stop, caused by a hardware malfunction."""
461
+
462
+ class ErrorLevel(_ErrorLevel, metaclass=_ErrorLevelEnumTypeWrapper):
463
+ """*
464
+
465
+ Available error levels.
466
+
467
+ Generic user levels generated by the logic. (Note: Check examples of the state machine.)
468
+ """
469
+
470
+ error_level_undefined: ErrorLevel.ValueType # 0
471
+ INFO: ErrorLevel.ValueType # 1
472
+ """Information message."""
473
+ WARNING: ErrorLevel.ValueType # 2
474
+ """Warning message."""
475
+ FORCED_DISENGAGE: ErrorLevel.ValueType # 3
476
+ """Graceful software stop, caused by a hardware malfunction or a wrong user actions."""
477
+ SHUTDOWN: ErrorLevel.ValueType # 4
478
+ """More abrupt software stop, caused by a hardware malfunction."""
479
+ EMERGENCY_STOP: ErrorLevel.ValueType # 5
480
+ """Abrupt software and hardware stop, caused by a hardware malfunction."""
481
+ Global___ErrorLevel: _TypeAlias = ErrorLevel # noqa: Y015
482
+
483
+ class _OffsetType:
484
+ ValueType = _typing.NewType("ValueType", _builtins.int)
485
+ V: _TypeAlias = ValueType # noqa: Y015
486
+
487
+ class _OffsetTypeEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[_OffsetType.ValueType], _builtins.type):
488
+ DESCRIPTOR: _descriptor.EnumDescriptor
489
+ offset_type_undefined: _OffsetType.ValueType # 0
490
+ OFFSET_ELEMENTS: _OffsetType.ValueType # 1
491
+ """Offset and length is calculated in the elements. For example update an array starting from the element number 3."""
492
+ OFFSET_BYTES: _OffsetType.ValueType # 2
493
+ """Offset and length is calculated in bytes."""
494
+ OFFSET_BITS: _OffsetType.ValueType # 3
495
+ """Offset and length is calculated in bits."""
496
+
497
+ class OffsetType(_OffsetType, metaclass=_OffsetTypeEnumTypeWrapper):
498
+ """*
499
+
500
+ Avaliable offset types.
501
+
502
+ When setting a parameter value user can specify an offset and length
503
+ """
504
+
505
+ offset_type_undefined: OffsetType.ValueType # 0
506
+ OFFSET_ELEMENTS: OffsetType.ValueType # 1
507
+ """Offset and length is calculated in the elements. For example update an array starting from the element number 3."""
508
+ OFFSET_BYTES: OffsetType.ValueType # 2
509
+ """Offset and length is calculated in bytes."""
510
+ OFFSET_BITS: OffsetType.ValueType # 3
511
+ """Offset and length is calculated in bits."""
512
+ Global___OffsetType: _TypeAlias = OffsetType # noqa: Y015
513
+
514
+ class _ParameterFlag:
515
+ ValueType = _typing.NewType("ValueType", _builtins.int)
516
+ V: _TypeAlias = ValueType # noqa: Y015
517
+
518
+ class _ParameterFlagEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[_ParameterFlag.ValueType], _builtins.type):
519
+ DESCRIPTOR: _descriptor.EnumDescriptor
520
+ LINK_IS_ACTIVE: _ParameterFlag.ValueType # 1
521
+ """Parameter is linked to another parameter."""
522
+ OVERWRITE_IS_ACTIVE: _ParameterFlag.ValueType # 2
523
+ """Parameter is being overwritten."""
524
+
525
+ class ParameterFlag(_ParameterFlag, metaclass=_ParameterFlagEnumTypeWrapper):
526
+ """*
527
+
528
+ System parameter's flag
529
+
530
+ Parameter can have various system flags, which shows that it is been overwritten or linked.
531
+ (Note: This list will grow in future)
532
+ """
533
+
534
+ LINK_IS_ACTIVE: ParameterFlag.ValueType # 1
535
+ """Parameter is linked to another parameter."""
536
+ OVERWRITE_IS_ACTIVE: ParameterFlag.ValueType # 2
537
+ """Parameter is being overwritten."""
538
+ Global___ParameterFlag: _TypeAlias = ParameterFlag # noqa: Y015
539
+
540
+ @_typing.final
541
+ class ParameterOffset(_message.Message):
542
+ """*
543
+
544
+ ParameterOffset description.
545
+
546
+ An offset can be applied when setting a new value of the parameter array
547
+ """
548
+
549
+ DESCRIPTOR: _descriptor.Descriptor
550
+
551
+ TYPE_FIELD_NUMBER: _builtins.int
552
+ OFFSET_FIELD_NUMBER: _builtins.int
553
+ LENGTH_FIELD_NUMBER: _builtins.int
554
+ type: Global___OffsetType.ValueType
555
+ """Type of the offset."""
556
+ offset: _builtins.int
557
+ """Starting point."""
558
+ length: _builtins.int
559
+ """Length from starting point."""
560
+ def __init__(
561
+ self,
562
+ *,
563
+ type: Global___OffsetType.ValueType | None = ...,
564
+ offset: _builtins.int | None = ...,
565
+ length: _builtins.int | None = ...,
566
+ ) -> None: ...
567
+ _HasFieldArgType: _TypeAlias = _typing.Literal["length", b"length", "offset", b"offset", "type", b"type"] # noqa: Y015
568
+ def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
569
+ _ClearFieldArgType: _TypeAlias = _typing.Literal["length", b"length", "offset", b"offset", "type", b"type"] # noqa: Y015
570
+ def ClearField(self, field_name: _ClearFieldArgType) -> None: ...
571
+
572
+ Global___ParameterOffset: _TypeAlias = ParameterOffset # noqa: Y015
573
+
574
+ @_typing.final
575
+ class Error(_message.Message):
576
+ """*
577
+
578
+ Error description.
579
+
580
+ System type, which describes an error.
581
+ """
582
+
583
+ DESCRIPTOR: _descriptor.Descriptor
584
+
585
+ TIMESTAMP_FIELD_NUMBER: _builtins.int
586
+ ERROR_NUMBER_FIELD_NUMBER: _builtins.int
587
+ ERROR_LEVEL_FIELD_NUMBER: _builtins.int
588
+ SUBSYSTEM_FIELD_NUMBER: _builtins.int
589
+ INFO_FIELD_NUMBER: _builtins.int
590
+ timestamp: _builtins.int
591
+ """System time, when error occurred."""
592
+ error_number: _builtins.int
593
+ """Error code."""
594
+ error_level: _builtins.int
595
+ """Error level."""
596
+ subsystem: _builtins.int
597
+ """Subsystem, for example 1 is 1st actuator of the system."""
598
+ info: _builtins.int
599
+ """Additional error code, provided by hardware."""
600
+ def __init__(
601
+ self,
602
+ *,
603
+ timestamp: _builtins.int | None = ...,
604
+ error_number: _builtins.int | None = ...,
605
+ error_level: _builtins.int | None = ...,
606
+ subsystem: _builtins.int | None = ...,
607
+ info: _builtins.int | None = ...,
608
+ ) -> None: ...
609
+ _HasFieldArgType: _TypeAlias = _typing.Literal["error_level", b"error_level", "error_number", b"error_number", "info", b"info", "subsystem", b"subsystem", "timestamp", b"timestamp"] # noqa: Y015
610
+ def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
611
+ _ClearFieldArgType: _TypeAlias = _typing.Literal["error_level", b"error_level", "error_number", b"error_number", "info", b"info", "subsystem", b"subsystem", "timestamp", b"timestamp"] # noqa: Y015
612
+ def ClearField(self, field_name: _ClearFieldArgType) -> None: ...
613
+
614
+ Global___Error: _TypeAlias = Error # noqa: Y015
615
+
616
+ @_typing.final
617
+ class ErrorList(_message.Message):
618
+ """*
619
+
620
+
621
+ List of errors.
622
+
623
+ Error messages are sent to the client as a list of N active errors.
624
+ """
625
+
626
+ DESCRIPTOR: _descriptor.Descriptor
627
+
628
+ ERRORS_FIELD_NUMBER: _builtins.int
629
+ NUMBER_OF_ERRORS_FIELD_NUMBER: _builtins.int
630
+ UPDATE_COUNTER_FIELD_NUMBER: _builtins.int
631
+ number_of_errors: _builtins.int
632
+ """Number of errors in the list."""
633
+ update_counter: _builtins.int
634
+ """An update couter changes everytime the list of active errors is updated."""
635
+ @_builtins.property
636
+ def errors(self) -> _containers.RepeatedCompositeFieldContainer[Global___Error]:
637
+ """List of active errors."""
638
+
639
+ def __init__(
640
+ self,
641
+ *,
642
+ errors: _abc.Iterable[Global___Error] | None = ...,
643
+ number_of_errors: _builtins.int | None = ...,
644
+ update_counter: _builtins.int | None = ...,
645
+ ) -> None: ...
646
+ _HasFieldArgType: _TypeAlias = _typing.Literal["number_of_errors", b"number_of_errors", "update_counter", b"update_counter"] # noqa: Y015
647
+ def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
648
+ _ClearFieldArgType: _TypeAlias = _typing.Literal["errors", b"errors", "number_of_errors", b"number_of_errors", "update_counter", b"update_counter"] # noqa: Y015
649
+ def ClearField(self, field_name: _ClearFieldArgType) -> None: ...
650
+
651
+ Global___ErrorList: _TypeAlias = ErrorList # noqa: Y015
652
+
653
+ @_typing.final
654
+ class ParameterInfo(_message.Message):
655
+ """*
656
+
657
+ Parameter information fields.
658
+
659
+ Active state of the parameter in the tree, including its name, size, data type, io type and active flags.
660
+ """
661
+
662
+ DESCRIPTOR: _descriptor.Descriptor
663
+
664
+ ID_FIELD_NUMBER: _builtins.int
665
+ DATA_TYPE_FIELD_NUMBER: _builtins.int
666
+ DATA_SIZE_FIELD_NUMBER: _builtins.int
667
+ NUMBER_OF_ELEMENTS_FIELD_NUMBER: _builtins.int
668
+ FLAGS_FIELD_NUMBER: _builtins.int
669
+ PERMISSIONS_FIELD_NUMBER: _builtins.int
670
+ PARAM_TYPE_FIELD_NUMBER: _builtins.int
671
+ GROUP_ID_FIELD_NUMBER: _builtins.int
672
+ UNIT_FIELD_NUMBER: _builtins.int
673
+ PATH_FIELD_NUMBER: _builtins.int
674
+ id: _builtins.int
675
+ """Unique id, assigned by parameter server."""
676
+ data_type: _builtins.int
677
+ """Tag of the data type."""
678
+ data_size: _builtins.int
679
+ """Size of one data element."""
680
+ number_of_elements: _builtins.int
681
+ """Number of the elements."""
682
+ flags: _builtins.int
683
+ """Parameter flags (overwrite, link etc...)."""
684
+ permissions: _builtins.int
685
+ """Access permissions."""
686
+ param_type: Global___ParameterType.ValueType
687
+ """I/O type of the parameter."""
688
+ group_id: Global___UserGroup.ValueType
689
+ """Group ID of the owner."""
690
+ unit: Global___Unit.ValueType
691
+ """SI unit of the parameter."""
692
+ path: _builtins.str
693
+ """Path (including name) of the parameter."""
694
+ def __init__(
695
+ self,
696
+ *,
697
+ id: _builtins.int | None = ...,
698
+ data_type: _builtins.int | None = ...,
699
+ data_size: _builtins.int | None = ...,
700
+ number_of_elements: _builtins.int | None = ...,
701
+ flags: _builtins.int | None = ...,
702
+ permissions: _builtins.int | None = ...,
703
+ param_type: Global___ParameterType.ValueType | None = ...,
704
+ group_id: Global___UserGroup.ValueType | None = ...,
705
+ unit: Global___Unit.ValueType | None = ...,
706
+ path: _builtins.str | None = ...,
707
+ ) -> None: ...
708
+ _HasFieldArgType: _TypeAlias = _typing.Literal["data_size", b"data_size", "data_type", b"data_type", "flags", b"flags", "group_id", b"group_id", "id", b"id", "number_of_elements", b"number_of_elements", "param_type", b"param_type", "path", b"path", "permissions", b"permissions", "unit", b"unit"] # noqa: Y015
709
+ def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
710
+ _ClearFieldArgType: _TypeAlias = _typing.Literal["data_size", b"data_size", "data_type", b"data_type", "flags", b"flags", "group_id", b"group_id", "id", b"id", "number_of_elements", b"number_of_elements", "param_type", b"param_type", "path", b"path", "permissions", b"permissions", "unit", b"unit"] # noqa: Y015
711
+ def ClearField(self, field_name: _ClearFieldArgType) -> None: ...
712
+
713
+ Global___ParameterInfo: _TypeAlias = ParameterInfo # noqa: Y015
714
+
715
+ @_typing.final
716
+ class GroupParameterInfo(_message.Message):
717
+ """*
718
+
719
+ Parameters' group information.
720
+
721
+ This data type represents the subscription information, required to decode parameters from the group message.
722
+ """
723
+
724
+ DESCRIPTOR: _descriptor.Descriptor
725
+
726
+ INDEX_FIELD_NUMBER: _builtins.int
727
+ OFFSET_FIELD_NUMBER: _builtins.int
728
+ SIZE_FIELD_NUMBER: _builtins.int
729
+ INFO_FIELD_NUMBER: _builtins.int
730
+ STATUS_FIELD_NUMBER: _builtins.int
731
+ index: _builtins.int
732
+ """Index of the subscribed parameter."""
733
+ offset: _builtins.int
734
+ """Offset in the group message."""
735
+ size: _builtins.int
736
+ """Size of the parameter."""
737
+ status: Global___StatusCode.ValueType
738
+ """Status code."""
739
+ @_builtins.property
740
+ def info(self) -> Global___ParameterInfo:
741
+ """Parameter information."""
742
+
743
+ def __init__(
744
+ self,
745
+ *,
746
+ index: _builtins.int | None = ...,
747
+ offset: _builtins.int | None = ...,
748
+ size: _builtins.int | None = ...,
749
+ info: Global___ParameterInfo | None = ...,
750
+ status: Global___StatusCode.ValueType | None = ...,
751
+ ) -> None: ...
752
+ _HasFieldArgType: _TypeAlias = _typing.Literal["index", b"index", "info", b"info", "offset", b"offset", "size", b"size", "status", b"status"] # noqa: Y015
753
+ def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
754
+ _ClearFieldArgType: _TypeAlias = _typing.Literal["index", b"index", "info", b"info", "offset", b"offset", "size", b"size", "status", b"status"] # noqa: Y015
755
+ def ClearField(self, field_name: _ClearFieldArgType) -> None: ...
756
+
757
+ Global___GroupParameterInfo: _TypeAlias = GroupParameterInfo # noqa: Y015
758
+
759
+ @_typing.final
760
+ class Header(_message.Message):
761
+ """*
762
+
763
+ Generic message header, included in the request/reply messages.
764
+ """
765
+
766
+ DESCRIPTOR: _descriptor.Descriptor
767
+
768
+ FRAMECOUNTER_FIELD_NUMBER: _builtins.int
769
+ TIMESTAMP_FIELD_NUMBER: _builtins.int
770
+ frameCounter: _builtins.int
771
+ """Frame counter counts number of parameter updates."""
772
+ timestamp: _builtins.int
773
+ """Current server time in the format: microseconds from 1 Jan 2000."""
774
+ def __init__(
775
+ self,
776
+ *,
777
+ frameCounter: _builtins.int | None = ...,
778
+ timestamp: _builtins.int | None = ...,
779
+ ) -> None: ...
780
+ _HasFieldArgType: _TypeAlias = _typing.Literal["frameCounter", b"frameCounter", "timestamp", b"timestamp"] # noqa: Y015
781
+ def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
782
+ _ClearFieldArgType: _TypeAlias = _typing.Literal["frameCounter", b"frameCounter", "timestamp", b"timestamp"] # noqa: Y015
783
+ def ClearField(self, field_name: _ClearFieldArgType) -> None: ...
784
+
785
+ Global___Header: _TypeAlias = Header # noqa: Y015
786
+
787
+ @_typing.final
788
+ class GroupMsg(_message.Message):
789
+ """*
790
+
791
+ Group message, used by the publisher. (Note: currently is not used, since publisher is not using protobuf)
792
+ """
793
+
794
+ DESCRIPTOR: _descriptor.Descriptor
795
+
796
+ HEADER_FIELD_NUMBER: _builtins.int
797
+ PARAMS_FIELD_NUMBER: _builtins.int
798
+ @_builtins.property
799
+ def header(self) -> Global___Header:
800
+ """Frame counter and actual time."""
801
+
802
+ @_builtins.property
803
+ def params(self) -> _containers.RepeatedCompositeFieldContainer[Global___ParameterMsg]:
804
+ """List of published parameters."""
805
+
806
+ def __init__(
807
+ self,
808
+ *,
809
+ header: Global___Header | None = ...,
810
+ params: _abc.Iterable[Global___ParameterMsg] | None = ...,
811
+ ) -> None: ...
812
+ _HasFieldArgType: _TypeAlias = _typing.Literal["header", b"header"] # noqa: Y015
813
+ def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
814
+ _ClearFieldArgType: _TypeAlias = _typing.Literal["header", b"header", "params", b"params"] # noqa: Y015
815
+ def ClearField(self, field_name: _ClearFieldArgType) -> None: ...
816
+
817
+ Global___GroupMsg: _TypeAlias = GroupMsg # noqa: Y015
818
+
819
+ @_typing.final
820
+ class StatusMsg(_message.Message):
821
+ """RPC messages
822
+
823
+ *
824
+
825
+ Status code message.
826
+
827
+ Reply with a status code for various request messages.
828
+ """
829
+
830
+ DESCRIPTOR: _descriptor.Descriptor
831
+
832
+ HEADER_FIELD_NUMBER: _builtins.int
833
+ STATUS_FIELD_NUMBER: _builtins.int
834
+ status: Global___StatusCode.ValueType
835
+ """Return status of the request."""
836
+ @_builtins.property
837
+ def header(self) -> Global___Header:
838
+ """Frame counter and actual time."""
839
+
840
+ def __init__(
841
+ self,
842
+ *,
843
+ header: Global___Header | None = ...,
844
+ status: Global___StatusCode.ValueType | None = ...,
845
+ ) -> None: ...
846
+ _HasFieldArgType: _TypeAlias = _typing.Literal["header", b"header", "status", b"status"] # noqa: Y015
847
+ def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
848
+ _ClearFieldArgType: _TypeAlias = _typing.Literal["header", b"header", "status", b"status"] # noqa: Y015
849
+ def ClearField(self, field_name: _ClearFieldArgType) -> None: ...
850
+
851
+ Global___StatusMsg: _TypeAlias = StatusMsg # noqa: Y015
852
+
853
+ @_typing.final
854
+ class LoginMsg(_message.Message):
855
+ """*
856
+
857
+ Login request.
858
+
859
+ User request to get access to the parameter tree.
860
+
861
+ Server's reply: StatusMsg, with following status codes:
862
+
863
+ StatusCode::OK - user is logged in,
864
+
865
+ StatusCode::READ_ONLY_MODE - user is logged in, read only mode,
866
+
867
+ StatusCode::WRONG_PASSWORD - login failed, wrong login or password.
868
+
869
+ StatusCode::FAILED_TO_DECODE - failed to decode request message.
870
+ """
871
+
872
+ DESCRIPTOR: _descriptor.Descriptor
873
+
874
+ HEADER_FIELD_NUMBER: _builtins.int
875
+ LOGIN_FIELD_NUMBER: _builtins.int
876
+ PASSWORD_FIELD_NUMBER: _builtins.int
877
+ login: _builtins.str
878
+ """User's login."""
879
+ password: _builtins.str
880
+ """User's password."""
881
+ @_builtins.property
882
+ def header(self) -> Global___Header:
883
+ """Frame counter and actual time."""
884
+
885
+ def __init__(
886
+ self,
887
+ *,
888
+ header: Global___Header | None = ...,
889
+ login: _builtins.str | None = ...,
890
+ password: _builtins.str | None = ...,
891
+ ) -> None: ...
892
+ _HasFieldArgType: _TypeAlias = _typing.Literal["header", b"header", "login", b"login", "password", b"password"] # noqa: Y015
893
+ def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
894
+ _ClearFieldArgType: _TypeAlias = _typing.Literal["header", b"header", "login", b"login", "password", b"password"] # noqa: Y015
895
+ def ClearField(self, field_name: _ClearFieldArgType) -> None: ...
896
+
897
+ Global___LoginMsg: _TypeAlias = LoginMsg # noqa: Y015
898
+
899
+ @_typing.final
900
+ class GetSessionTokenMsg(_message.Message):
901
+ """*
902
+
903
+ Request a session token.
904
+
905
+ After user is logged-in it can request a session token for re-login.
906
+
907
+ Server's reply: SessionTokenMsg with the token status code.
908
+ """
909
+
910
+ DESCRIPTOR: _descriptor.Descriptor
911
+
912
+ HEADER_FIELD_NUMBER: _builtins.int
913
+ @_builtins.property
914
+ def header(self) -> Global___Header:
915
+ """Frame counter and actual time."""
916
+
917
+ def __init__(
918
+ self,
919
+ *,
920
+ header: Global___Header | None = ...,
921
+ ) -> None: ...
922
+ _HasFieldArgType: _TypeAlias = _typing.Literal["header", b"header"] # noqa: Y015
923
+ def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
924
+ _ClearFieldArgType: _TypeAlias = _typing.Literal["header", b"header"] # noqa: Y015
925
+ def ClearField(self, field_name: _ClearFieldArgType) -> None: ...
926
+
927
+ Global___GetSessionTokenMsg: _TypeAlias = GetSessionTokenMsg # noqa: Y015
928
+
929
+ @_typing.final
930
+ class SessionTokenMsg(_message.Message):
931
+ """*
932
+
933
+ Session token.
934
+
935
+ A token with current session id. The toke is used for re-logging if
936
+ the connection is lost.
937
+
938
+ Server's reply: SessionTokenmsg with the token and one of the following
939
+ status codes:
940
+
941
+ StatusCode::OK - token is granted,
942
+
943
+ StatusCode::PERMISSION_DENIED - user has no permission,
944
+
945
+ StatusCode::FAILED - operation failed,
946
+
947
+ StatusCode::FAILED_TO_DECODE - failed to decode request message.
948
+ """
949
+
950
+ DESCRIPTOR: _descriptor.Descriptor
951
+
952
+ HEADER_FIELD_NUMBER: _builtins.int
953
+ TOKEN_FIELD_NUMBER: _builtins.int
954
+ STATUS_FIELD_NUMBER: _builtins.int
955
+ token: _builtins.str
956
+ """Session token."""
957
+ status: Global___StatusCode.ValueType
958
+ """Status code."""
959
+ @_builtins.property
960
+ def header(self) -> Global___Header:
961
+ """Frame counter and actual time."""
962
+
963
+ def __init__(
964
+ self,
965
+ *,
966
+ header: Global___Header | None = ...,
967
+ token: _builtins.str | None = ...,
968
+ status: Global___StatusCode.ValueType | None = ...,
969
+ ) -> None: ...
970
+ _HasFieldArgType: _TypeAlias = _typing.Literal["header", b"header", "status", b"status", "token", b"token"] # noqa: Y015
971
+ def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
972
+ _ClearFieldArgType: _TypeAlias = _typing.Literal["header", b"header", "status", b"status", "token", b"token"] # noqa: Y015
973
+ def ClearField(self, field_name: _ClearFieldArgType) -> None: ...
974
+
975
+ Global___SessionTokenMsg: _TypeAlias = SessionTokenMsg # noqa: Y015
976
+
977
+ @_typing.final
978
+ class RestoreSessionMsg(_message.Message):
979
+ """*
980
+
981
+ Restore session request.
982
+
983
+ User request to restore the old session to access to the parameter tree.
984
+
985
+ Server's reply: StatusMsg, with following status codes:
986
+
987
+ StatusCode::OK - user is logged in,
988
+
989
+ StatusCode::READ_ONLY_MODE - user is logged in, read only mode,
990
+
991
+ StatusCode::PERMISSION_DENIED - login failed, token expired,
992
+
993
+ StatusCode::FAILED - operation failed,
994
+
995
+ StatusCode::FAILED_TO_DECODE - failed to decode request message.
996
+ """
997
+
998
+ DESCRIPTOR: _descriptor.Descriptor
999
+
1000
+ HEADER_FIELD_NUMBER: _builtins.int
1001
+ TOKEN_FIELD_NUMBER: _builtins.int
1002
+ token: _builtins.str
1003
+ """Session token."""
1004
+ @_builtins.property
1005
+ def header(self) -> Global___Header:
1006
+ """Frame counter and actual time."""
1007
+
1008
+ def __init__(
1009
+ self,
1010
+ *,
1011
+ header: Global___Header | None = ...,
1012
+ token: _builtins.str | None = ...,
1013
+ ) -> None: ...
1014
+ _HasFieldArgType: _TypeAlias = _typing.Literal["header", b"header", "token", b"token"] # noqa: Y015
1015
+ def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
1016
+ _ClearFieldArgType: _TypeAlias = _typing.Literal["header", b"header", "token", b"token"] # noqa: Y015
1017
+ def ClearField(self, field_name: _ClearFieldArgType) -> None: ...
1018
+
1019
+ Global___RestoreSessionMsg: _TypeAlias = RestoreSessionMsg # noqa: Y015
1020
+
1021
+ @_typing.final
1022
+ class LogoutMsg(_message.Message):
1023
+ """*
1024
+
1025
+ Logout request.
1026
+
1027
+ User request to exit. Logout will happen automatically if user is disconnected.
1028
+
1029
+ Server's reply: StatusMsg, with following status codes:
1030
+
1031
+ StatusCode::OK - user is logged out,
1032
+
1033
+ StatusCode::FAILED - operation failed,
1034
+
1035
+ StatusCode::FAILED_TO_DECODE - failed to decode request message.
1036
+ """
1037
+
1038
+ DESCRIPTOR: _descriptor.Descriptor
1039
+
1040
+ HEADER_FIELD_NUMBER: _builtins.int
1041
+ @_builtins.property
1042
+ def header(self) -> Global___Header:
1043
+ """Frame counter and actual time."""
1044
+
1045
+ def __init__(
1046
+ self,
1047
+ *,
1048
+ header: Global___Header | None = ...,
1049
+ ) -> None: ...
1050
+ _HasFieldArgType: _TypeAlias = _typing.Literal["header", b"header"] # noqa: Y015
1051
+ def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
1052
+ _ClearFieldArgType: _TypeAlias = _typing.Literal["header", b"header"] # noqa: Y015
1053
+ def ClearField(self, field_name: _ClearFieldArgType) -> None: ...
1054
+
1055
+ Global___LogoutMsg: _TypeAlias = LogoutMsg # noqa: Y015
1056
+
1057
+ @_typing.final
1058
+ class GetParameterTreeMsg(_message.Message):
1059
+ """*
1060
+
1061
+ Request to get a parameter tree message
1062
+
1063
+ Server's reply: ParameterTreeMsg, with following status codes:
1064
+
1065
+ StatusCode::OK - user is logged out,
1066
+
1067
+ StatusCode::FAILED - operation failed.
1068
+
1069
+ StatusCode::FAILED_TO_DECODE - failed to decode request message.
1070
+ """
1071
+
1072
+ DESCRIPTOR: _descriptor.Descriptor
1073
+
1074
+ HEADER_FIELD_NUMBER: _builtins.int
1075
+ @_builtins.property
1076
+ def header(self) -> Global___Header:
1077
+ """Frame counter and actual time."""
1078
+
1079
+ def __init__(
1080
+ self,
1081
+ *,
1082
+ header: Global___Header | None = ...,
1083
+ ) -> None: ...
1084
+ _HasFieldArgType: _TypeAlias = _typing.Literal["header", b"header"] # noqa: Y015
1085
+ def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
1086
+ _ClearFieldArgType: _TypeAlias = _typing.Literal["header", b"header"] # noqa: Y015
1087
+ def ClearField(self, field_name: _ClearFieldArgType) -> None: ...
1088
+
1089
+ Global___GetParameterTreeMsg: _TypeAlias = GetParameterTreeMsg # noqa: Y015
1090
+
1091
+ @_typing.final
1092
+ class ParameterTreeMsg(_message.Message):
1093
+ """*
1094
+
1095
+ Parameter tree data, which contains information about tree structure and available parameters.
1096
+ Message can have following status codes:
1097
+
1098
+ StatusCode::OK - operation successful,
1099
+
1100
+ StatusCode::FAILED - operation failed.
1101
+
1102
+ StatusCode::FAILED_TO_DECODE - failed to decode request message.
1103
+ """
1104
+
1105
+ DESCRIPTOR: _descriptor.Descriptor
1106
+
1107
+ HEADER_FIELD_NUMBER: _builtins.int
1108
+ PARAMS_FIELD_NUMBER: _builtins.int
1109
+ HASH_FIELD_NUMBER: _builtins.int
1110
+ STATUS_FIELD_NUMBER: _builtins.int
1111
+ hash: _builtins.int
1112
+ """Hash value of the parameter tree stored in 'repeated ParameterInfo params'."""
1113
+ status: Global___StatusCode.ValueType
1114
+ """Status code."""
1115
+ @_builtins.property
1116
+ def header(self) -> Global___Header:
1117
+ """Frame counter and actual time."""
1118
+
1119
+ @_builtins.property
1120
+ def params(self) -> _containers.RepeatedCompositeFieldContainer[Global___ParameterInfo]:
1121
+ """Array with available parameters."""
1122
+
1123
+ def __init__(
1124
+ self,
1125
+ *,
1126
+ header: Global___Header | None = ...,
1127
+ params: _abc.Iterable[Global___ParameterInfo] | None = ...,
1128
+ hash: _builtins.int | None = ...,
1129
+ status: Global___StatusCode.ValueType | None = ...,
1130
+ ) -> None: ...
1131
+ _HasFieldArgType: _TypeAlias = _typing.Literal["hash", b"hash", "header", b"header", "status", b"status"] # noqa: Y015
1132
+ def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
1133
+ _ClearFieldArgType: _TypeAlias = _typing.Literal["hash", b"hash", "header", b"header", "params", b"params", "status", b"status"] # noqa: Y015
1134
+ def ClearField(self, field_name: _ClearFieldArgType) -> None: ...
1135
+
1136
+ Global___ParameterTreeMsg: _TypeAlias = ParameterTreeMsg # noqa: Y015
1137
+
1138
+ @_typing.final
1139
+ class GetParameterTreeHashMsg(_message.Message):
1140
+ """*
1141
+
1142
+ Request to get a parameter tree hash.
1143
+
1144
+ Instead of requesting a complete parameter tree, a client might request only a tree hash to compare it
1145
+ against the cached tree to detect if the tree on the server has been changed. The difference between hashes
1146
+ indicates the changes in the tree structure.
1147
+ Note: Changes in parameter values do not result in a different tree hash.
1148
+
1149
+ Server's reply: ParameterTreeHashMsg, with following status codes:
1150
+
1151
+ StatusCode::OK - operation successful,
1152
+
1153
+ StatusCode::FAILED - operation failed.
1154
+
1155
+ StatusCode::FAILED_TO_DECODE - failed to decode request message.
1156
+ """
1157
+
1158
+ DESCRIPTOR: _descriptor.Descriptor
1159
+
1160
+ HEADER_FIELD_NUMBER: _builtins.int
1161
+ @_builtins.property
1162
+ def header(self) -> Global___Header:
1163
+ """Frame counter and actual time."""
1164
+
1165
+ def __init__(
1166
+ self,
1167
+ *,
1168
+ header: Global___Header | None = ...,
1169
+ ) -> None: ...
1170
+ _HasFieldArgType: _TypeAlias = _typing.Literal["header", b"header"] # noqa: Y015
1171
+ def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
1172
+ _ClearFieldArgType: _TypeAlias = _typing.Literal["header", b"header"] # noqa: Y015
1173
+ def ClearField(self, field_name: _ClearFieldArgType) -> None: ...
1174
+
1175
+ Global___GetParameterTreeHashMsg: _TypeAlias = GetParameterTreeHashMsg # noqa: Y015
1176
+
1177
+ @_typing.final
1178
+ class ParameterTreeHashMsg(_message.Message):
1179
+ """*
1180
+
1181
+ Parameter tree hash.
1182
+
1183
+ Hash of the parameter tree.
1184
+
1185
+ Message can have following status codes:
1186
+
1187
+ StatusCode::OK - operation successful,
1188
+
1189
+ StatusCode::FAILED - operation failed.
1190
+
1191
+ StatusCode::FAILED_TO_DECODE - failed to decode request message.
1192
+ """
1193
+
1194
+ DESCRIPTOR: _descriptor.Descriptor
1195
+
1196
+ HEADER_FIELD_NUMBER: _builtins.int
1197
+ HASH_FIELD_NUMBER: _builtins.int
1198
+ STATUS_FIELD_NUMBER: _builtins.int
1199
+ hash: _builtins.int
1200
+ """Hash of the tree."""
1201
+ status: Global___StatusCode.ValueType
1202
+ """Status code."""
1203
+ @_builtins.property
1204
+ def header(self) -> Global___Header:
1205
+ """Frame counter and actual time."""
1206
+
1207
+ def __init__(
1208
+ self,
1209
+ *,
1210
+ header: Global___Header | None = ...,
1211
+ hash: _builtins.int | None = ...,
1212
+ status: Global___StatusCode.ValueType | None = ...,
1213
+ ) -> None: ...
1214
+ _HasFieldArgType: _TypeAlias = _typing.Literal["hash", b"hash", "header", b"header", "status", b"status"] # noqa: Y015
1215
+ def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
1216
+ _ClearFieldArgType: _TypeAlias = _typing.Literal["hash", b"hash", "header", b"header", "status", b"status"] # noqa: Y015
1217
+ def ClearField(self, field_name: _ClearFieldArgType) -> None: ...
1218
+
1219
+ Global___ParameterTreeHashMsg: _TypeAlias = ParameterTreeHashMsg # noqa: Y015
1220
+
1221
+ @_typing.final
1222
+ class CreateGroupMsg(_message.Message):
1223
+ """*
1224
+
1225
+ Request to create a publisher group.
1226
+
1227
+ User's request to start publishing specified parameters. Several users may subscribe to
1228
+ the same group. This mechanism reduces the load on the server and allows more clients to get
1229
+ frequent updates.
1230
+
1231
+ User may choose a scale factor for the publishing rate of the group.
1232
+
1233
+ Server's reply: GroupStatusMsg, with following status codes:
1234
+
1235
+ StatusCode::OK - operation successful.
1236
+
1237
+ StatusCode::FAILED - operation failed.
1238
+
1239
+ StatusCode::PERMISSION_DENIED - Permission denied because the user has no access rights.
1240
+
1241
+ StatusCode::FAILED_TO_SET_REQUESTED_FRQ - operation successful, but failed to change publisher's frequency, because the group has already existed.
1242
+
1243
+ StatusCode::FAILED_TO_DECODE - failed to decode request message.
1244
+
1245
+ StatusCode::SUB_LIST_IS_FULL - failed to subscribe for a parameter, because subscription list is full. Create new parameter group.
1246
+
1247
+ StatusCode::WRONG_PARAMETER_PATH - failed to find parameter, because requested path is wrong.
1248
+
1249
+ StatusCode::GROUP_LIST_IS_FULL - failed to create new group, because the group list is full. Release at least one group.
1250
+ """
1251
+
1252
+ DESCRIPTOR: _descriptor.Descriptor
1253
+
1254
+ HEADER_FIELD_NUMBER: _builtins.int
1255
+ FRQ_DIVIDER_FIELD_NUMBER: _builtins.int
1256
+ ALIAS_FIELD_NUMBER: _builtins.int
1257
+ PATHS_FIELD_NUMBER: _builtins.int
1258
+ frq_divider: _builtins.int
1259
+ """Requested frequency divider, to scale down publisher rate."""
1260
+ alias: _builtins.str
1261
+ """Name of the group."""
1262
+ @_builtins.property
1263
+ def header(self) -> Global___Header:
1264
+ """Frame counter and actual time."""
1265
+
1266
+ @_builtins.property
1267
+ def paths(self) -> _containers.RepeatedScalarFieldContainer[_builtins.str]:
1268
+ """List of the parameters."""
1269
+
1270
+ def __init__(
1271
+ self,
1272
+ *,
1273
+ header: Global___Header | None = ...,
1274
+ frq_divider: _builtins.int | None = ...,
1275
+ alias: _builtins.str | None = ...,
1276
+ paths: _abc.Iterable[_builtins.str] | None = ...,
1277
+ ) -> None: ...
1278
+ _HasFieldArgType: _TypeAlias = _typing.Literal["alias", b"alias", "frq_divider", b"frq_divider", "header", b"header"] # noqa: Y015
1279
+ def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
1280
+ _ClearFieldArgType: _TypeAlias = _typing.Literal["alias", b"alias", "frq_divider", b"frq_divider", "header", b"header", "paths", b"paths"] # noqa: Y015
1281
+ def ClearField(self, field_name: _ClearFieldArgType) -> None: ...
1282
+
1283
+ Global___CreateGroupMsg: _TypeAlias = CreateGroupMsg # noqa: Y015
1284
+
1285
+ @_typing.final
1286
+ class GroupStatusMsg(_message.Message):
1287
+ """*
1288
+
1289
+ Group package description.
1290
+
1291
+ Reply for 'CreateGroupMsg', with the package structure.
1292
+
1293
+ Message can have following status codes:
1294
+
1295
+ StatusCode::OK - operation successful,
1296
+
1297
+ StatusCode::FAILED - operation failed,
1298
+
1299
+ StatusCode::PERMISSION_DENIED - Permission denied because user has no access rights.
1300
+
1301
+ StatusCode::FAILED_TO_SET_REQUESTED_FRQ - operation successful, but failed to change publisher's frequency, because the group has already existed.
1302
+
1303
+ StatusCode::FAILED_TO_DECODE - failed to decode request message.
1304
+ """
1305
+
1306
+ DESCRIPTOR: _descriptor.Descriptor
1307
+
1308
+ HEADER_FIELD_NUMBER: _builtins.int
1309
+ ID_FIELD_NUMBER: _builtins.int
1310
+ ALIAS_FIELD_NUMBER: _builtins.int
1311
+ PARAMS_FIELD_NUMBER: _builtins.int
1312
+ STATUS_FIELD_NUMBER: _builtins.int
1313
+ id: _builtins.int
1314
+ """Unique id of the group."""
1315
+ alias: _builtins.str
1316
+ """Name of the group."""
1317
+ status: Global___StatusCode.ValueType
1318
+ """Status code."""
1319
+ @_builtins.property
1320
+ def header(self) -> Global___Header:
1321
+ """Frame counter and actual time."""
1322
+
1323
+ @_builtins.property
1324
+ def params(self) -> _containers.RepeatedCompositeFieldContainer[Global___GroupParameterInfo]:
1325
+ """List of parameters' info."""
1326
+
1327
+ def __init__(
1328
+ self,
1329
+ *,
1330
+ header: Global___Header | None = ...,
1331
+ id: _builtins.int | None = ...,
1332
+ alias: _builtins.str | None = ...,
1333
+ params: _abc.Iterable[Global___GroupParameterInfo] | None = ...,
1334
+ status: Global___StatusCode.ValueType | None = ...,
1335
+ ) -> None: ...
1336
+ _HasFieldArgType: _TypeAlias = _typing.Literal["alias", b"alias", "header", b"header", "id", b"id", "status", b"status"] # noqa: Y015
1337
+ def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
1338
+ _ClearFieldArgType: _TypeAlias = _typing.Literal["alias", b"alias", "header", b"header", "id", b"id", "params", b"params", "status", b"status"] # noqa: Y015
1339
+ def ClearField(self, field_name: _ClearFieldArgType) -> None: ...
1340
+
1341
+ Global___GroupStatusMsg: _TypeAlias = GroupStatusMsg # noqa: Y015
1342
+
1343
+ @_typing.final
1344
+ class RemoveGroupMsg(_message.Message):
1345
+ """*
1346
+
1347
+ Request to remove a publisher group.
1348
+
1349
+ User's request to unsubscribe from the group.
1350
+
1351
+ Server's reply: StatusMsg, with following status codes:
1352
+
1353
+ StatusCode::OK - operation successful,
1354
+
1355
+ StatusCode::FAILED - operation failed,
1356
+
1357
+ StatusCode::PERMISSION_DENIED - Permission denied because user has no access rights.
1358
+
1359
+ StatusCode::FAILED_TO_DECODE - failed to decode request message.
1360
+ """
1361
+
1362
+ DESCRIPTOR: _descriptor.Descriptor
1363
+
1364
+ HEADER_FIELD_NUMBER: _builtins.int
1365
+ ALIAS_FIELD_NUMBER: _builtins.int
1366
+ alias: _builtins.str
1367
+ """Name of the group."""
1368
+ @_builtins.property
1369
+ def header(self) -> Global___Header:
1370
+ """Frame counter and actual time."""
1371
+
1372
+ def __init__(
1373
+ self,
1374
+ *,
1375
+ header: Global___Header | None = ...,
1376
+ alias: _builtins.str | None = ...,
1377
+ ) -> None: ...
1378
+ _HasFieldArgType: _TypeAlias = _typing.Literal["alias", b"alias", "header", b"header"] # noqa: Y015
1379
+ def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
1380
+ _ClearFieldArgType: _TypeAlias = _typing.Literal["alias", b"alias", "header", b"header"] # noqa: Y015
1381
+ def ClearField(self, field_name: _ClearFieldArgType) -> None: ...
1382
+
1383
+ Global___RemoveGroupMsg: _TypeAlias = RemoveGroupMsg # noqa: Y015
1384
+
1385
+ @_typing.final
1386
+ class GetParameterMsg(_message.Message):
1387
+ """*
1388
+
1389
+ Request to get a parameter info and its value.
1390
+
1391
+ Server's reply: ParameterMsg, with following status codes:
1392
+
1393
+ StatusCode::OK - operation successful,
1394
+
1395
+ StatusCode::FAILED - operation failed.
1396
+
1397
+ StatusCode::PERMISSION_DENIED - Permission denied because user has no access rights.
1398
+
1399
+ StatusCode::FAILED_TO_DECODE - failed to decode request message.
1400
+ """
1401
+
1402
+ DESCRIPTOR: _descriptor.Descriptor
1403
+
1404
+ HEADER_FIELD_NUMBER: _builtins.int
1405
+ PATH_FIELD_NUMBER: _builtins.int
1406
+ path: _builtins.str
1407
+ """Path of the requested parameter."""
1408
+ @_builtins.property
1409
+ def header(self) -> Global___Header:
1410
+ """Frame counter and actual time."""
1411
+
1412
+ def __init__(
1413
+ self,
1414
+ *,
1415
+ header: Global___Header | None = ...,
1416
+ path: _builtins.str | None = ...,
1417
+ ) -> None: ...
1418
+ _HasFieldArgType: _TypeAlias = _typing.Literal["header", b"header", "path", b"path"] # noqa: Y015
1419
+ def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
1420
+ _ClearFieldArgType: _TypeAlias = _typing.Literal["header", b"header", "path", b"path"] # noqa: Y015
1421
+ def ClearField(self, field_name: _ClearFieldArgType) -> None: ...
1422
+
1423
+ Global___GetParameterMsg: _TypeAlias = GetParameterMsg # noqa: Y015
1424
+
1425
+ @_typing.final
1426
+ class ParameterMsg(_message.Message):
1427
+ """*
1428
+
1429
+ Parameter info and its value.
1430
+
1431
+ Reply for 'GetParameterMsg', with the parameter info and a value.
1432
+
1433
+ Message can have following status codes:
1434
+
1435
+ StatusCode::OK - operation successful,
1436
+
1437
+ StatusCode::FAILED - operation failed.
1438
+
1439
+ StatusCode::PERMISSION_DENIED - Permission denied because user has no access rights.
1440
+
1441
+ StatusCode::FAILED_TO_DECODE - failed to decode request message.
1442
+ """
1443
+
1444
+ DESCRIPTOR: _descriptor.Descriptor
1445
+
1446
+ VALUE_FIELD_NUMBER: _builtins.int
1447
+ HEADER_FIELD_NUMBER: _builtins.int
1448
+ INFO_FIELD_NUMBER: _builtins.int
1449
+ STATUS_FIELD_NUMBER: _builtins.int
1450
+ value: _builtins.bytes
1451
+ """Parameter value."""
1452
+ status: Global___StatusCode.ValueType
1453
+ """Status code."""
1454
+ @_builtins.property
1455
+ def header(self) -> Global___Header:
1456
+ """Frame counter and actual time."""
1457
+
1458
+ @_builtins.property
1459
+ def info(self) -> Global___ParameterInfo:
1460
+ """Parameter information."""
1461
+
1462
+ def __init__(
1463
+ self,
1464
+ *,
1465
+ value: _builtins.bytes | None = ...,
1466
+ header: Global___Header | None = ...,
1467
+ info: Global___ParameterInfo | None = ...,
1468
+ status: Global___StatusCode.ValueType | None = ...,
1469
+ ) -> None: ...
1470
+ _HasFieldArgType: _TypeAlias = _typing.Literal["header", b"header", "info", b"info", "status", b"status", "value", b"value"] # noqa: Y015
1471
+ def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
1472
+ _ClearFieldArgType: _TypeAlias = _typing.Literal["header", b"header", "info", b"info", "status", b"status", "value", b"value"] # noqa: Y015
1473
+ def ClearField(self, field_name: _ClearFieldArgType) -> None: ...
1474
+
1475
+ Global___ParameterMsg: _TypeAlias = ParameterMsg # noqa: Y015
1476
+
1477
+ @_typing.final
1478
+ class GetParameterListMsg(_message.Message):
1479
+ """*
1480
+
1481
+ Request to get a list of parameters with info and values.
1482
+
1483
+ Server's reply: ParameterListMsg, with following status codes:
1484
+
1485
+ StatusCode::OK - operation successful,
1486
+
1487
+ StatusCode::FAILED - operation failed.
1488
+
1489
+ StatusCode::PERMISSION_DENIED - Permission denied because user has no access rights.
1490
+
1491
+ StatusCode::FAILED_TO_DECODE - failed to decode request message.
1492
+ """
1493
+
1494
+ DESCRIPTOR: _descriptor.Descriptor
1495
+
1496
+ HEADER_FIELD_NUMBER: _builtins.int
1497
+ PARAMS_FIELD_NUMBER: _builtins.int
1498
+ @_builtins.property
1499
+ def header(self) -> Global___Header:
1500
+ """Frame counter and actual time."""
1501
+
1502
+ @_builtins.property
1503
+ def params(self) -> _containers.RepeatedCompositeFieldContainer[Global___GetParameterMsg]:
1504
+ """List of requested parameter."""
1505
+
1506
+ def __init__(
1507
+ self,
1508
+ *,
1509
+ header: Global___Header | None = ...,
1510
+ params: _abc.Iterable[Global___GetParameterMsg] | None = ...,
1511
+ ) -> None: ...
1512
+ _HasFieldArgType: _TypeAlias = _typing.Literal["header", b"header"] # noqa: Y015
1513
+ def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
1514
+ _ClearFieldArgType: _TypeAlias = _typing.Literal["header", b"header", "params", b"params"] # noqa: Y015
1515
+ def ClearField(self, field_name: _ClearFieldArgType) -> None: ...
1516
+
1517
+ Global___GetParameterListMsg: _TypeAlias = GetParameterListMsg # noqa: Y015
1518
+
1519
+ @_typing.final
1520
+ class ParameterListMsg(_message.Message):
1521
+ """*
1522
+
1523
+ List of parameters with info values.
1524
+
1525
+ Reply for 'GetParameterListMsg', with the list of parameters info and values.
1526
+
1527
+ Message can have following status codes:
1528
+
1529
+ StatusCode::OK - operation successful,
1530
+
1531
+ StatusCode::FAILED - operation failed.
1532
+
1533
+ StatusCode::PERMISSION_DENIED - Permission denied because user has no access rights.
1534
+
1535
+ StatusCode::FAILED_TO_DECODE - failed to decode request message.
1536
+ """
1537
+
1538
+ DESCRIPTOR: _descriptor.Descriptor
1539
+
1540
+ HEADER_FIELD_NUMBER: _builtins.int
1541
+ PARAMS_FIELD_NUMBER: _builtins.int
1542
+ STATUS_FIELD_NUMBER: _builtins.int
1543
+ status: Global___StatusCode.ValueType
1544
+ """Status code."""
1545
+ @_builtins.property
1546
+ def header(self) -> Global___Header:
1547
+ """Frame counter and actual time."""
1548
+
1549
+ @_builtins.property
1550
+ def params(self) -> _containers.RepeatedCompositeFieldContainer[Global___ParameterMsg]:
1551
+ """List of parameters."""
1552
+
1553
+ def __init__(
1554
+ self,
1555
+ *,
1556
+ header: Global___Header | None = ...,
1557
+ params: _abc.Iterable[Global___ParameterMsg] | None = ...,
1558
+ status: Global___StatusCode.ValueType | None = ...,
1559
+ ) -> None: ...
1560
+ _HasFieldArgType: _TypeAlias = _typing.Literal["header", b"header", "status", b"status"] # noqa: Y015
1561
+ def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
1562
+ _ClearFieldArgType: _TypeAlias = _typing.Literal["header", b"header", "params", b"params", "status", b"status"] # noqa: Y015
1563
+ def ClearField(self, field_name: _ClearFieldArgType) -> None: ...
1564
+
1565
+ Global___ParameterListMsg: _TypeAlias = ParameterListMsg # noqa: Y015
1566
+
1567
+ @_typing.final
1568
+ class SetParameterMsg(_message.Message):
1569
+ """*
1570
+
1571
+ Request to set a parameter value.
1572
+
1573
+ User's request to update a parameter value.
1574
+
1575
+ Server's reply: StatusMsg, with following status codes:
1576
+
1577
+ StatusCode::OK - operation successful,
1578
+
1579
+ StatusCode::FAILED - operation failed.
1580
+
1581
+ StatusCode::PERMISSION_DENIED - Permission denied because user has no access rights.
1582
+
1583
+ StatusCode::USER_LOGGED_IN_NO_CONTROL - User is in read-only mode.
1584
+
1585
+ StatusCode::WRONG_PARAMETER_PATH - Wrong parameter path.
1586
+
1587
+ StatusCode::FAILED_TO_DECODE - failed to decode request message.
1588
+ """
1589
+
1590
+ DESCRIPTOR: _descriptor.Descriptor
1591
+
1592
+ HEADER_FIELD_NUMBER: _builtins.int
1593
+ OFFSET_FIELD_NUMBER: _builtins.int
1594
+ PATH_FIELD_NUMBER: _builtins.int
1595
+ VALUE_FIELD_NUMBER: _builtins.int
1596
+ path: _builtins.str
1597
+ """Path of the requested parameter."""
1598
+ value: _builtins.bytes
1599
+ """New values has to be encoded according to the data type, which is provided in the parameter info."""
1600
+ @_builtins.property
1601
+ def header(self) -> Global___Header:
1602
+ """Frame counter and actual time."""
1603
+
1604
+ @_builtins.property
1605
+ def offset(self) -> Global___ParameterOffset:
1606
+ """Offset of the parameter value."""
1607
+
1608
+ def __init__(
1609
+ self,
1610
+ *,
1611
+ header: Global___Header | None = ...,
1612
+ offset: Global___ParameterOffset | None = ...,
1613
+ path: _builtins.str | None = ...,
1614
+ value: _builtins.bytes | None = ...,
1615
+ ) -> None: ...
1616
+ _HasFieldArgType: _TypeAlias = _typing.Literal["header", b"header", "offset", b"offset", "path", b"path", "value", b"value"] # noqa: Y015
1617
+ def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
1618
+ _ClearFieldArgType: _TypeAlias = _typing.Literal["header", b"header", "offset", b"offset", "path", b"path", "value", b"value"] # noqa: Y015
1619
+ def ClearField(self, field_name: _ClearFieldArgType) -> None: ...
1620
+
1621
+ Global___SetParameterMsg: _TypeAlias = SetParameterMsg # noqa: Y015
1622
+
1623
+ @_typing.final
1624
+ class SetParameterListMsg(_message.Message):
1625
+ """*
1626
+
1627
+ Request to set a list of parameters values.
1628
+
1629
+ User's request to update a list of parameters values.
1630
+
1631
+ Server's reply: StatusMsg, with following status codes:
1632
+
1633
+ StatusCode::OK - operation successful,
1634
+
1635
+ StatusCode::FAILED - operation failed.
1636
+
1637
+ StatusCode::PERMISSION_DENIED - Permission denied because user has no access rights.
1638
+
1639
+ StatusCode::USER_LOGGED_IN_NO_CONTROL - User is in read-only mode.
1640
+
1641
+ StatusCode::WRONG_PARAMETER_PATH - Wrong parameter path.
1642
+
1643
+ StatusCode::FAILED_TO_DECODE - failed to decode request message.
1644
+ """
1645
+
1646
+ DESCRIPTOR: _descriptor.Descriptor
1647
+
1648
+ HEADER_FIELD_NUMBER: _builtins.int
1649
+ PARAMS_FIELD_NUMBER: _builtins.int
1650
+ @_builtins.property
1651
+ def header(self) -> Global___Header:
1652
+ """Frame counter and actual time."""
1653
+
1654
+ @_builtins.property
1655
+ def params(self) -> _containers.RepeatedCompositeFieldContainer[Global___SetParameterMsg]:
1656
+ """List of parameter set messages."""
1657
+
1658
+ def __init__(
1659
+ self,
1660
+ *,
1661
+ header: Global___Header | None = ...,
1662
+ params: _abc.Iterable[Global___SetParameterMsg] | None = ...,
1663
+ ) -> None: ...
1664
+ _HasFieldArgType: _TypeAlias = _typing.Literal["header", b"header"] # noqa: Y015
1665
+ def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
1666
+ _ClearFieldArgType: _TypeAlias = _typing.Literal["header", b"header", "params", b"params"] # noqa: Y015
1667
+ def ClearField(self, field_name: _ClearFieldArgType) -> None: ...
1668
+
1669
+ Global___SetParameterListMsg: _TypeAlias = SetParameterListMsg # noqa: Y015
1670
+
1671
+ @_typing.final
1672
+ class OverwriteParameterMsg(_message.Message):
1673
+ """*
1674
+
1675
+ Request to overwrite/force a parameter value.
1676
+
1677
+ User's request to force a parameter value. For the Input and Parameter types the input value will be overwritten,
1678
+ for the Output type, the output value will be overwritten.
1679
+
1680
+ By enabling flag 'activate', overwrite value will be active until the flag is disabled, by ether commanding
1681
+ ReleaseParameterMsg or OverwriteParameterMsg with 'activate' - false.
1682
+
1683
+ Server's reply: StatusMsg, with following status codes:
1684
+
1685
+ StatusCode::OK - operation successful,
1686
+
1687
+ StatusCode::FAILED - operation failed.
1688
+
1689
+ StatusCode::PERMISSION_DENIED - Permission denied because user has no access rights.
1690
+
1691
+ StatusCode::USER_LOGGED_IN_NO_CONTROL - User is in read-only mode.
1692
+
1693
+ StatusCode::WRONG_PARAMETER_PATH - Wrong parameter path.
1694
+
1695
+ StatusCode::FAILED_TO_DECODE - failed to decode request message.
1696
+ """
1697
+
1698
+ DESCRIPTOR: _descriptor.Descriptor
1699
+
1700
+ HEADER_FIELD_NUMBER: _builtins.int
1701
+ OFFSET_FIELD_NUMBER: _builtins.int
1702
+ ACTIVATE_FIELD_NUMBER: _builtins.int
1703
+ PATH_FIELD_NUMBER: _builtins.int
1704
+ VALUE_FIELD_NUMBER: _builtins.int
1705
+ activate: _builtins.bool
1706
+ """Flag to enable/disable permanent overwrite."""
1707
+ path: _builtins.str
1708
+ """Path of the requested parameter."""
1709
+ value: _builtins.bytes
1710
+ """New values."""
1711
+ @_builtins.property
1712
+ def header(self) -> Global___Header:
1713
+ """Frame counter and actual time."""
1714
+
1715
+ @_builtins.property
1716
+ def offset(self) -> Global___ParameterOffset:
1717
+ """Offset of the parameter value."""
1718
+
1719
+ def __init__(
1720
+ self,
1721
+ *,
1722
+ header: Global___Header | None = ...,
1723
+ offset: Global___ParameterOffset | None = ...,
1724
+ activate: _builtins.bool | None = ...,
1725
+ path: _builtins.str | None = ...,
1726
+ value: _builtins.bytes | None = ...,
1727
+ ) -> None: ...
1728
+ _HasFieldArgType: _TypeAlias = _typing.Literal["activate", b"activate", "header", b"header", "offset", b"offset", "path", b"path", "value", b"value"] # noqa: Y015
1729
+ def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
1730
+ _ClearFieldArgType: _TypeAlias = _typing.Literal["activate", b"activate", "header", b"header", "offset", b"offset", "path", b"path", "value", b"value"] # noqa: Y015
1731
+ def ClearField(self, field_name: _ClearFieldArgType) -> None: ...
1732
+
1733
+ Global___OverwriteParameterMsg: _TypeAlias = OverwriteParameterMsg # noqa: Y015
1734
+
1735
+ @_typing.final
1736
+ class ReleaseParameterMsg(_message.Message):
1737
+ """*
1738
+
1739
+ Request to release an overwrite/force.
1740
+
1741
+ User's request to cancel overwrite of a parameter value.
1742
+
1743
+ Server's reply: StatusMsg, with following status codes:
1744
+
1745
+ StatusCode::OK - operation successful,
1746
+
1747
+ StatusCode::FAILED - operation failed.
1748
+
1749
+ StatusCode::PERMISSION_DENIED - Permission denied because user has no access rights.
1750
+
1751
+ StatusCode::USER_LOGGED_IN_NO_CONTROL - User is in read-only mode.
1752
+
1753
+ StatusCode::WRONG_PARAMETER_PATH - Wrong parameter path.
1754
+
1755
+ StatusCode::FAILED_TO_DECODE - failed to decode request message.
1756
+ """
1757
+
1758
+ DESCRIPTOR: _descriptor.Descriptor
1759
+
1760
+ HEADER_FIELD_NUMBER: _builtins.int
1761
+ PATH_FIELD_NUMBER: _builtins.int
1762
+ path: _builtins.str
1763
+ """Path of the requested parameter."""
1764
+ @_builtins.property
1765
+ def header(self) -> Global___Header:
1766
+ """Frame counter and actual time."""
1767
+
1768
+ def __init__(
1769
+ self,
1770
+ *,
1771
+ header: Global___Header | None = ...,
1772
+ path: _builtins.str | None = ...,
1773
+ ) -> None: ...
1774
+ _HasFieldArgType: _TypeAlias = _typing.Literal["header", b"header", "path", b"path"] # noqa: Y015
1775
+ def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
1776
+ _ClearFieldArgType: _TypeAlias = _typing.Literal["header", b"header", "path", b"path"] # noqa: Y015
1777
+ def ClearField(self, field_name: _ClearFieldArgType) -> None: ...
1778
+
1779
+ Global___ReleaseParameterMsg: _TypeAlias = ReleaseParameterMsg # noqa: Y015
1780
+
1781
+ @_typing.final
1782
+ class SaveMsg(_message.Message):
1783
+ """*
1784
+
1785
+ Request to save parameter values to the disk.
1786
+
1787
+ User's request to save parameter values to XML file.
1788
+
1789
+ Server's reply: StatusMsg, with following status codes:
1790
+
1791
+ StatusCode::OK - operation successful,
1792
+
1793
+ StatusCode::FAILED - operation failed.
1794
+
1795
+ StatusCode::PERMISSION_DENIED - Permission denied because user has no access rights.
1796
+
1797
+ StatusCode::USER_LOGGED_IN_NO_CONTROL - User is in read-only mode.
1798
+
1799
+ StatusCode::FAILED_TO_OPEN - Failed to create/open a file.
1800
+
1801
+ StatusCode::FAILED_TO_DECODE - failed to decode request message.
1802
+ """
1803
+
1804
+ DESCRIPTOR: _descriptor.Descriptor
1805
+
1806
+ HEADER_FIELD_NUMBER: _builtins.int
1807
+ PATH_FIELD_NUMBER: _builtins.int
1808
+ FILE_NAME_FIELD_NUMBER: _builtins.int
1809
+ path: _builtins.str
1810
+ """Path to a config file."""
1811
+ file_name: _builtins.str
1812
+ """File name.i"""
1813
+ @_builtins.property
1814
+ def header(self) -> Global___Header:
1815
+ """Frame counter and actual time."""
1816
+
1817
+ def __init__(
1818
+ self,
1819
+ *,
1820
+ header: Global___Header | None = ...,
1821
+ path: _builtins.str | None = ...,
1822
+ file_name: _builtins.str | None = ...,
1823
+ ) -> None: ...
1824
+ _HasFieldArgType: _TypeAlias = _typing.Literal["file_name", b"file_name", "header", b"header", "path", b"path"] # noqa: Y015
1825
+ def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
1826
+ _ClearFieldArgType: _TypeAlias = _typing.Literal["file_name", b"file_name", "header", b"header", "path", b"path"] # noqa: Y015
1827
+ def ClearField(self, field_name: _ClearFieldArgType) -> None: ...
1828
+
1829
+ Global___SaveMsg: _TypeAlias = SaveMsg # noqa: Y015
1830
+
1831
+ @_typing.final
1832
+ class LoadMsg(_message.Message):
1833
+ """*
1834
+
1835
+ Request to load parameter values from the disk.
1836
+
1837
+ User's request to load parameter values from XML file.
1838
+
1839
+ Server's reply: StatusMsg, with following status codes:
1840
+
1841
+ StatusCode::OK - operation successful,
1842
+
1843
+ StatusCode::FAILED - operation failed.
1844
+
1845
+ StatusCode::PERMISSION_DENIED - Permission denied because user has no access rights.
1846
+
1847
+ StatusCode::USER_LOGGED_IN_NO_CONTROL - User is in read-only mode.
1848
+
1849
+ StatusCode::FAILED_TO_OPEN - Failed to create/open a file.
1850
+
1851
+ StatusCode::FAILED_TO_DECODE - failed to decode request message.
1852
+ """
1853
+
1854
+ DESCRIPTOR: _descriptor.Descriptor
1855
+
1856
+ HEADER_FIELD_NUMBER: _builtins.int
1857
+ PATH_FIELD_NUMBER: _builtins.int
1858
+ FILE_NAME_FIELD_NUMBER: _builtins.int
1859
+ path: _builtins.str
1860
+ """Path to config file."""
1861
+ file_name: _builtins.str
1862
+ """File name."""
1863
+ @_builtins.property
1864
+ def header(self) -> Global___Header:
1865
+ """Frame counter and actual time."""
1866
+
1867
+ def __init__(
1868
+ self,
1869
+ *,
1870
+ header: Global___Header | None = ...,
1871
+ path: _builtins.str | None = ...,
1872
+ file_name: _builtins.str | None = ...,
1873
+ ) -> None: ...
1874
+ _HasFieldArgType: _TypeAlias = _typing.Literal["file_name", b"file_name", "header", b"header", "path", b"path"] # noqa: Y015
1875
+ def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
1876
+ _ClearFieldArgType: _TypeAlias = _typing.Literal["file_name", b"file_name", "header", b"header", "path", b"path"] # noqa: Y015
1877
+ def ClearField(self, field_name: _ClearFieldArgType) -> None: ...
1878
+
1879
+ Global___LoadMsg: _TypeAlias = LoadMsg # noqa: Y015
1880
+
1881
+ @_typing.final
1882
+ class ConsoleCmdMsg(_message.Message):
1883
+ """*
1884
+
1885
+ Request to execute command on the server.
1886
+
1887
+ User's request to execute a command on the server (console mode).
1888
+
1889
+ Server's reply: StatusMsg, with following status codes:
1890
+
1891
+ StatusCode::OK - operation successful,
1892
+
1893
+ StatusCode::FAILED - operation failed.
1894
+
1895
+ (Note: Currently not implemented).
1896
+ """
1897
+
1898
+ DESCRIPTOR: _descriptor.Descriptor
1899
+
1900
+ HEADER_FIELD_NUMBER: _builtins.int
1901
+ VALUE_FIELD_NUMBER: _builtins.int
1902
+ value: _builtins.str
1903
+ """Console command"""
1904
+ @_builtins.property
1905
+ def header(self) -> Global___Header:
1906
+ """Frame counter and actual time."""
1907
+
1908
+ def __init__(
1909
+ self,
1910
+ *,
1911
+ header: Global___Header | None = ...,
1912
+ value: _builtins.str | None = ...,
1913
+ ) -> None: ...
1914
+ _HasFieldArgType: _TypeAlias = _typing.Literal["header", b"header", "value", b"value"] # noqa: Y015
1915
+ def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
1916
+ _ClearFieldArgType: _TypeAlias = _typing.Literal["header", b"header", "value", b"value"] # noqa: Y015
1917
+ def ClearField(self, field_name: _ClearFieldArgType) -> None: ...
1918
+
1919
+ Global___ConsoleCmdMsg: _TypeAlias = ConsoleCmdMsg # noqa: Y015
1920
+
1921
+ @_typing.final
1922
+ class ConsoleCmdListMsg(_message.Message):
1923
+ """*
1924
+
1925
+ Request to execute a list of commands on the server.
1926
+
1927
+ User's request to execute a list of commands on the server (console mode).
1928
+
1929
+ Server's reply: StatusMsg, with following status codes:
1930
+
1931
+ StatusCode::OK - operation successful,
1932
+
1933
+ StatusCode::FAILED - operation failed.
1934
+
1935
+ (Note: Currently not implemented).
1936
+ """
1937
+
1938
+ DESCRIPTOR: _descriptor.Descriptor
1939
+
1940
+ HEADER_FIELD_NUMBER: _builtins.int
1941
+ CMDS_FIELD_NUMBER: _builtins.int
1942
+ @_builtins.property
1943
+ def header(self) -> Global___Header:
1944
+ """Frame counter and actual time."""
1945
+
1946
+ @_builtins.property
1947
+ def cmds(self) -> _containers.RepeatedCompositeFieldContainer[Global___ConsoleCmdMsg]:
1948
+ """List of commands"""
1949
+
1950
+ def __init__(
1951
+ self,
1952
+ *,
1953
+ header: Global___Header | None = ...,
1954
+ cmds: _abc.Iterable[Global___ConsoleCmdMsg] | None = ...,
1955
+ ) -> None: ...
1956
+ _HasFieldArgType: _TypeAlias = _typing.Literal["header", b"header"] # noqa: Y015
1957
+ def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
1958
+ _ClearFieldArgType: _TypeAlias = _typing.Literal["cmds", b"cmds", "header", b"header"] # noqa: Y015
1959
+ def ClearField(self, field_name: _ClearFieldArgType) -> None: ...
1960
+
1961
+ Global___ConsoleCmdListMsg: _TypeAlias = ConsoleCmdListMsg # noqa: Y015