polar_prost/
types.rs

1#[derive(Clone, PartialEq, ::prost::Message)]
2pub struct PbRangeOptions {
3    #[prost(int32, optional, tag="1")]
4    pub min_value: ::std::option::Option<i32>,
5    #[prost(int32, optional, tag="2")]
6    pub max_value: ::std::option::Option<i32>,
7}
8#[derive(Clone, PartialEq, ::prost::Message)]
9pub struct PbDate {
10    #[prost(uint32, required, tag="1")]
11    pub year: u32,
12    #[prost(uint32, required, tag="2")]
13    pub month: u32,
14    #[prost(uint32, required, tag="3")]
15    pub day: u32,
16}
17#[derive(Clone, PartialEq, ::prost::Message)]
18pub struct PbTime {
19    #[prost(uint32, required, tag="1")]
20    pub hour: u32,
21    #[prost(uint32, required, tag="2")]
22    pub minute: u32,
23    #[prost(uint32, required, tag="3")]
24    pub seconds: u32,
25    #[prost(uint32, optional, tag="4", default="0")]
26    pub millis: ::std::option::Option<u32>,
27}
28#[derive(Clone, PartialEq, ::prost::Message)]
29pub struct PbSystemDateTime {
30    #[prost(message, required, tag="1")]
31    pub date: PbDate,
32    #[prost(message, required, tag="2")]
33    pub time: PbTime,
34    #[prost(bool, required, tag="3")]
35    pub trusted: bool,
36}
37#[derive(Clone, PartialEq, ::prost::Message)]
38pub struct PbLocalDateTime {
39    #[prost(message, required, tag="1")]
40    pub date: PbDate,
41    #[prost(message, required, tag="2")]
42    pub time: PbTime,
43    #[prost(bool, required, tag="3")]
44    pub obsolete_trusted: bool,
45    #[prost(int32, optional, tag="4")]
46    pub time_zone_offset: ::std::option::Option<i32>,
47}
48#[derive(Clone, PartialEq, ::prost::Message)]
49pub struct PbDuration {
50    #[prost(uint32, optional, tag="1", default="0")]
51    pub hours: ::std::option::Option<u32>,
52    #[prost(uint32, optional, tag="2", default="0")]
53    pub minutes: ::std::option::Option<u32>,
54    #[prost(uint32, optional, tag="3", default="0")]
55    pub seconds: ::std::option::Option<u32>,
56    #[prost(uint32, optional, tag="4", default="0")]
57    pub millis: ::std::option::Option<u32>,
58}
59#[derive(Clone, PartialEq, ::prost::Message)]
60pub struct PbLocation {
61    #[prost(double, required, tag="1")]
62    pub latitude: f64,
63    #[prost(double, required, tag="2")]
64    pub longitude: f64,
65    #[prost(message, optional, tag="3")]
66    pub timestamp: ::std::option::Option<PbSystemDateTime>,
67    #[prost(enumeration="pb_location::Fix", optional, tag="4", default="None")]
68    pub fix: ::std::option::Option<i32>,
69    #[prost(uint32, optional, tag="5", default="0")]
70    pub satellites: ::std::option::Option<u32>,
71}
72pub mod pb_location {
73    #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
74    #[repr(i32)]
75    pub enum Fix {
76        None = 0,
77        Fix2d = 1,
78        Fix3d = 2,
79    }
80}
81#[derive(Clone, PartialEq, ::prost::Message)]
82pub struct PbSensorOffline {
83    #[prost(uint32, required, tag="1")]
84    pub start_index: u32,
85    #[prost(uint32, required, tag="2")]
86    pub stop_index: u32,
87}
88#[derive(Clone, PartialEq, ::prost::Message)]
89pub struct PbVolume {
90    #[prost(uint32, required, tag="1")]
91    pub volume: u32,
92}
93#[derive(Clone, PartialEq, ::prost::Message)]
94pub struct PbStrideSensorCalibSettings {
95    #[prost(float, required, tag="1")]
96    pub running_factor: f32,
97    #[prost(enumeration="pb_stride_sensor_calib_settings::PbStrideCalibType", required, tag="2")]
98    pub calib_type: i32,
99    #[prost(enumeration="pb_stride_sensor_calib_settings::PbRunningFactorSource", optional, tag="3", default="RunningFactorSourceDefault")]
100    pub running_factor_source: ::std::option::Option<i32>,
101}
102pub mod pb_stride_sensor_calib_settings {
103    #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
104    #[repr(i32)]
105    pub enum PbStrideCalibType {
106        StrideCalibManual = 0,
107        StrideCalibAuto = 1,
108    }
109    #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
110    #[repr(i32)]
111    pub enum PbRunningFactorSource {
112        RunningFactorSourceDefault = 0,
113        RunningFactorSourceAutoCalibration = 1,
114        RunningFactorSourceManualCalibration = 2,
115    }
116}
117#[derive(Clone, PartialEq, ::prost::Message)]
118pub struct PbVolumeTarget {
119    #[prost(enumeration="pb_volume_target::PbVolymeTargetType", required, tag="1")]
120    pub target_type: i32,
121    #[prost(message, optional, tag="2")]
122    pub duration: ::std::option::Option<PbDuration>,
123    #[prost(float, optional, tag="3")]
124    pub distance: ::std::option::Option<f32>,
125    #[prost(uint32, optional, tag="4")]
126    pub calories: ::std::option::Option<u32>,
127}
128pub mod pb_volume_target {
129    #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
130    #[repr(i32)]
131    pub enum PbVolymeTargetType {
132        VolumeTargetTypeDuration = 0,
133        VolumeTargetTypeDistance = 1,
134        VolumeTargetTypeCalories = 2,
135    }
136}
137#[derive(Clone, PartialEq, ::prost::Message)]
138pub struct PbTrainingLoad {
139    #[prost(uint32, optional, tag="1")]
140    pub training_load_val: ::std::option::Option<u32>,
141    #[prost(message, optional, tag="2")]
142    pub recovery_time: ::std::option::Option<PbDuration>,
143    #[prost(uint32, optional, tag="3")]
144    pub carbohydrate_consumption: ::std::option::Option<u32>,
145    #[prost(uint32, optional, tag="4")]
146    pub protein_consumption: ::std::option::Option<u32>,
147    #[prost(uint32, optional, tag="5")]
148    pub fat_consumption: ::std::option::Option<u32>,
149}
150#[derive(Clone, PartialEq, ::prost::Message)]
151pub struct PbHeartRateZone {
152    #[prost(uint32, required, tag="1")]
153    pub lower_limit: u32,
154    #[prost(uint32, required, tag="2")]
155    pub higher_limit: u32,
156}
157#[derive(Clone, PartialEq, ::prost::Message)]
158pub struct PbSpeedZone {
159    #[prost(float, required, tag="1")]
160    pub lower_limit: f32,
161    #[prost(float, required, tag="2")]
162    pub higher_limit: f32,
163}
164#[derive(Clone, PartialEq, ::prost::Message)]
165pub struct PbPowerZone {
166    #[prost(uint32, required, tag="1")]
167    pub lower_limit: u32,
168    #[prost(uint32, required, tag="2")]
169    pub higher_limit: u32,
170}
171#[derive(Clone, PartialEq, ::prost::Message)]
172pub struct PbZones {
173    #[prost(message, repeated, tag="1")]
174    pub heart_rate_zone: ::std::vec::Vec<PbHeartRateZone>,
175    #[prost(message, repeated, tag="2")]
176    pub speed_zone: ::std::vec::Vec<PbSpeedZone>,
177    #[prost(message, repeated, tag="3")]
178    pub power_zone: ::std::vec::Vec<PbPowerZone>,
179    #[prost(enumeration="PbHeartRateZoneSettingSource", optional, tag="10")]
180    pub heart_rate_setting_source: ::std::option::Option<i32>,
181    #[prost(enumeration="PbPowerZoneSettingSource", optional, tag="11")]
182    pub power_setting_source: ::std::option::Option<i32>,
183    #[prost(enumeration="PbSpeedZoneSettingSource", optional, tag="12")]
184    pub speed_setting_source: ::std::option::Option<i32>,
185}
186#[derive(Clone, PartialEq, ::prost::Message)]
187pub struct PbBleMac {
188    #[prost(bytes, required, tag="1")]
189    pub mac: std::vec::Vec<u8>,
190    #[prost(enumeration="PbMacType", required, tag="2")]
191    pub r#type: i32,
192}
193#[derive(Clone, PartialEq, ::prost::Message)]
194pub struct PbBleDeviceName {
195    #[prost(string, required, tag="1")]
196    pub name: std::string::String,
197}
198#[derive(Clone, PartialEq, ::prost::Message)]
199pub struct PbDeviceId {
200    #[prost(string, required, tag="1")]
201    pub device_id: std::string::String,
202}
203#[derive(Clone, PartialEq, ::prost::Message)]
204pub struct PbRunningIndex {
205    #[prost(uint32, required, tag="1")]
206    pub value: u32,
207    #[prost(message, optional, tag="2")]
208    pub calculation_time: ::std::option::Option<PbDuration>,
209}
210#[derive(Clone, PartialEq, ::prost::Message)]
211pub struct PbSportIdentifier {
212    #[prost(uint64, required, tag="1")]
213    pub value: u64,
214}
215#[derive(Clone, PartialEq, ::prost::Message)]
216pub struct PbOneLineText {
217    #[prost(string, required, tag="1")]
218    pub text: std::string::String,
219}
220#[derive(Clone, PartialEq, ::prost::Message)]
221pub struct PbMultiLineText {
222    #[prost(string, required, tag="1")]
223    pub text: std::string::String,
224}
225#[derive(Clone, PartialEq, ::prost::Message)]
226pub struct PbLanguageId {
227    #[prost(string, required, tag="1")]
228    pub language: std::string::String,
229}
230#[derive(Clone, PartialEq, ::prost::Message)]
231pub struct PbTrainingSessionTargetId {
232    #[prost(uint64, required, tag="1")]
233    pub value: u64,
234    #[prost(message, optional, tag="2")]
235    pub last_modified: ::std::option::Option<PbSystemDateTime>,
236}
237#[derive(Clone, PartialEq, ::prost::Message)]
238pub struct PbTrainingSessionFavoriteId {
239    #[prost(uint64, required, tag="1")]
240    pub value: u64,
241    #[prost(message, optional, tag="2")]
242    pub last_modified: ::std::option::Option<PbSystemDateTime>,
243}
244#[derive(Clone, PartialEq, ::prost::Message)]
245pub struct PbRouteId {
246    #[prost(uint64, required, tag="1")]
247    pub value: u64,
248}
249#[derive(Clone, PartialEq, ::prost::Message)]
250pub struct PbSwimmingPoolInfo {
251    #[prost(float, optional, tag="1")]
252    pub pool_length: ::std::option::Option<f32>,
253    #[prost(enumeration="PbSwimmingPoolUnits", required, tag="2")]
254    pub swimming_pool_type: i32,
255}
256#[derive(Clone, PartialEq, ::prost::Message)]
257pub struct PbTrainingProgramId {
258    #[prost(uint64, required, tag="1")]
259    pub value: u64,
260}
261#[derive(Clone, PartialEq, ::prost::Message)]
262pub struct PbEventId {
263    #[prost(uint64, required, tag="1")]
264    pub value: u64,
265}
266#[derive(Clone, PartialEq, ::prost::Message)]
267pub struct PbStravaSegmentTargets {
268    #[prost(message, required, tag="1")]
269    pub own_best: PbDuration,
270    #[prost(message, required, tag="2")]
271    pub kom_qom: PbDuration,
272}
273#[derive(Clone, PartialEq, ::prost::Message)]
274pub struct PbStravaSegmentTarget {
275    #[prost(enumeration="pb_strava_segment_target::PbStravaSegmentType", required, tag="1")]
276    pub strava_segment_type: i32,
277    #[prost(message, required, tag="2")]
278    pub strava_segment_targets: PbStravaSegmentTargets,
279}
280pub mod pb_strava_segment_target {
281    #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
282    #[repr(i32)]
283    pub enum PbStravaSegmentType {
284        StravaSegmentTypeRide = 1,
285        StravaSegmentTypeRun = 2,
286    }
287}
288#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
289#[repr(i32)]
290pub enum PbDataType {
291    TypeUndefined = 0,
292    TypeInherited = 1,
293    TypeEnum = 2,
294    TypeMillis = 3,
295    TypeSecond = 4,
296    TypeMinute = 5,
297    TypeHour = 6,
298    TypeHours = 7,
299    TypeDay = 8,
300    TypeMonth = 9,
301    TypeYear = 10,
302    TypeWeight = 11,
303    TypeHeight = 12,
304    TypeVo2max = 13,
305    TypeHeartrate = 20,
306    TypeHrPercent = 21,
307    TypeHrReserve = 22,
308    TypeSpeed = 23,
309    TypeCadence = 24,
310    TypeAltitude = 25,
311    TypePower = 26,
312    TypePowerLrb = 27,
313    TypePowerPi = 28,
314    TypeTemperature = 29,
315    TypeActivity = 30,
316    TypeStrideLength = 31,
317    TypeIncline = 32,
318    TypeDecline = 33,
319    TypeDistance = 52,
320    TypeEnergy = 53,
321    TypeFatPercents = 54,
322    TypeAscent = 55,
323    TypeDescent = 56,
324    TypeLatitude = 57,
325    TypeLongitude = 58,
326    TypeHertz = 59,
327    TypePercent = 60,
328    TypeCumulatedActivityDay = 61,
329    TypeRunningIndex = 62,
330    TypeRrInterval = 63,
331    TypeZIndex = 64,
332    TypeExerciseTargetIndex = 65,
333    TypeTimeZoneOffset = 66,
334    TypeWheelSize = 67,
335    TypeFitnessClass = 68,
336    TypeAcceleration = 69,
337    TypeCrankLength = 70,
338    TypeAngleDegree = 71,
339    TypeNewton = 72,
340    TypeFunctionalThresholdPower = 73,
341    TypeCalories = 74,
342    TypeSpeedCalibrationOffset = 75,
343}
344#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
345#[repr(i32)]
346pub enum PbHeartRateView {
347    HeartRateViewBpm = 1,
348    HeartRateViewPercentsOfHrReserve = 2,
349    HeartRateViewPercentsOfMaxHr = 3,
350}
351#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
352#[repr(i32)]
353pub enum PbUnitSystem {
354    Metric = 1,
355    Imperial = 2,
356}
357#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
358#[repr(i32)]
359pub enum PbTimeSelection {
360    Time1 = 1,
361    Time2 = 2,
362}
363#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
364#[repr(i32)]
365pub enum PbTimeFormat {
366    TimeFormat24h = 1,
367    TimeFormat12h = 2,
368}
369#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
370#[repr(i32)]
371pub enum PbTimeFormatSeparator {
372    TimeFormatSeparatorDot = 1,
373    TimeFormatSeparatorColon = 2,
374}
375#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
376#[repr(i32)]
377pub enum PbStartDayOfWeek {
378    Monday = 1,
379    Saturday = 2,
380    Sunday = 3,
381}
382#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
383#[repr(i32)]
384pub enum PbDateFormatSeparator {
385    Dot = 1,
386    Slash = 2,
387    Hyphen = 3,
388}
389#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
390#[repr(i32)]
391pub enum PbDateFormat {
392    DdMmYyyy = 1,
393    MmDdYyyy = 2,
394    YyyyMmDd = 3,
395}
396#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
397#[repr(i32)]
398pub enum PbFeatureType {
399    FeatureTypeHeartRate = 1,
400    FeatureTypeRrInterval = 2,
401    FeatureTypeSpeed = 3,
402    FeatureTypeDistance = 4,
403    FeatureTypeBikeCadence = 5,
404    FeatureTypeBikePower = 6,
405    FeatureTypeGpsLocation = 7,
406    FeatureTypeRunningCadence = 8,
407    FeatureTypePressTemperature = 9,
408    FeatureTypeAltitude = 10,
409    FeatureTypeSteps = 11,
410    FeatureTypeActivity = 12,
411    FeatureTypeStrideLength = 13,
412    FeatureTypeRscMovingType = 14,
413    FeatureTypeJumpHeigth = 15,
414    FeatureTypeCompassHeading = 16,
415    FeatureTypeGpsSpeed = 17,
416    FeatureTypeGpsDistance = 18,
417    FeatureTypeGpsAltitude = 19,
418    FeatureTypeBikeWheelRevolution = 20,
419    FeatureTypeBikeCrankRevolution = 21,
420    FeatureTypeAsSpeed = 22,
421    FeatureTypeAsCadence = 23,
422    FeatureTypeAsDistance = 24,
423    FeatureTypeAsSwrState = 25,
424    FeatureTypeBatteryLevel = 26,
425    FeatureTypeFileTransfer = 27,
426    FeatureTypePushNotifications = 28,
427    FeatureTypeWeightScale = 29,
428}
429#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
430#[repr(i32)]
431pub enum PbMovingType {
432    Walking = 0,
433    Running = 1,
434    Standing = 2,
435}
436#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
437#[repr(i32)]
438pub enum PbOperationType {
439    Multiply = 1,
440    Sum = 2,
441}
442#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
443#[repr(i32)]
444pub enum PbExerciseFeedback {
445    FeedbackNone = 1,
446    Feedback1 = 2,
447    Feedback2 = 3,
448    Feedback3 = 4,
449    Feedback4 = 5,
450    Feedback5 = 6,
451    Feedback6 = 7,
452    Feedback7 = 8,
453    Feedback8 = 9,
454    Feedback9 = 10,
455    Feedback10 = 11,
456    Feedback11 = 12,
457    Feedback12 = 13,
458    Feedback13 = 14,
459    Feedback14 = 15,
460    Feedback15 = 16,
461    Feedback16 = 17,
462    Feedback17 = 18,
463}
464#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
465#[repr(i32)]
466pub enum PbHeartRateZoneSettingSource {
467    HeartRateZoneSettingSourceDefault = 0,
468    HeartRateZoneSettingSourceThreshold = 1,
469    HeartRateZoneSettingSourceFree = 2,
470}
471#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
472#[repr(i32)]
473pub enum PbPowerZoneSettingSource {
474    PowerZoneSettingSourceDefault = 0,
475    PowerZoneSettingSourceFree = 1,
476}
477#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
478#[repr(i32)]
479pub enum PbSpeedZoneSettingSource {
480    SpeedZoneSettingSourceDefault = 0,
481    SpeedZoneSettingSourceFree = 1,
482}
483#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
484#[repr(i32)]
485pub enum PbMacType {
486    MacTypePublic = 0,
487    MacTypeStatic = 1,
488    MacTypePrivateNonresolvable = 2,
489    MacTypePrivateResolvable = 3,
490    MacTypeBtClassic = 4,
491}
492#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
493#[repr(i32)]
494pub enum PbSwimmingStyle {
495    Other = -1,
496    Turn = 0,
497    OtherSwimming = 10,
498    Freestyle = 11,
499    Breaststroke = 12,
500    Backstroke = 13,
501    Butterfly = 14,
502}
503#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
504#[repr(i32)]
505pub enum PbSwimmingPoolUnits {
506    SwimmingPoolMeters = 0,
507    SwimmingPoolYards = 1,
508}
509#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
510#[repr(i32)]
511pub enum PbExerciseTargetType {
512    ExerciseTargetTypeFree = 0,
513    ExerciseTargetTypeVolume = 1,
514    ExerciseTargetTypePhased = 2,
515    ExerciseTargetTypeRoute = 3,
516    ExerciseTargetTypeSteadyRacePace = 4,
517    ExerciseTargetTypeRouteRacePace = 5,
518    ExerciseTargetTypeStravaSegment = 6,
519}
520#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
521#[repr(i32)]
522pub enum PbDeviceLocation {
523    DeviceLocationUndefined = 0,
524    DeviceLocationOther = 1,
525    DeviceLocationWristLeft = 2,
526    DeviceLocationWristRight = 3,
527    DeviceLocationNecklace = 4,
528    DeviceLocationChest = 5,
529    DeviceLocationUpperBack = 6,
530    DeviceLocationFootLeft = 7,
531    DeviceLocationFootRight = 8,
532    DeviceLocationLowerArmLeft = 9,
533    DeviceLocationLowerArmRight = 10,
534    DeviceLocationUpperArmLeft = 11,
535    DeviceLocationUpperArmRight = 12,
536    DeviceLocationBikeMount = 13,
537}