bt_metrics_registry/
bt_metrics_registry.rs

1// This file was generated by Cobalt's Registry parser based on the registry YAML
2// in the cobalt_config repository. Edit the YAML there to make changes.
3pub const CUSTOMER_NAME: &str = "fuchsia";
4pub const CUSTOMER_ID: u32 = 1;
5pub const PROJECT_NAME: &str = "bluetooth";
6pub const PROJECT_ID: u32 = 2322225253;
7
8// Exponential bucket constants for bt_host_adapter_event bt_host_adapter_event_histogram
9pub const BT_HOST_ADAPTER_EVENT_BT_HOST_ADAPTER_EVENT_HISTOGRAM_INT_BUCKETS_FLOOR: i64 = 0;
10pub const BT_HOST_ADAPTER_EVENT_BT_HOST_ADAPTER_EVENT_HISTOGRAM_INT_BUCKETS_NUM_BUCKETS: u32 = 23;
11pub const BT_HOST_ADAPTER_EVENT_BT_HOST_ADAPTER_EVENT_HISTOGRAM_INT_BUCKETS_INITIAL_STEP: u32 = 2;
12pub const BT_HOST_ADAPTER_EVENT_BT_HOST_ADAPTER_EVENT_HISTOGRAM_INT_BUCKETS_STEP_MULTIPLIER: u32 = 2;
13
14// Linear bucket constants for paired_devices_total paired_devices_total_per_device_max
15pub const PAIRED_DEVICES_TOTAL_PAIRED_DEVICES_TOTAL_PER_DEVICE_MAX_INT_BUCKETS_FLOOR: i64 = 0;
16pub const PAIRED_DEVICES_TOTAL_PAIRED_DEVICES_TOTAL_PER_DEVICE_MAX_INT_BUCKETS_NUM_BUCKETS: u32 = 32;
17pub const PAIRED_DEVICES_TOTAL_PAIRED_DEVICES_TOTAL_PER_DEVICE_MAX_INT_BUCKETS_STEP_SIZE: u32 = 1;
18
19// Linear bucket constants for avdtp_delay_report_in_nanoseconds avdtp_average_delay_report_in_ns_histogram
20pub const AVDTP_DELAY_REPORT_IN_NANOSECONDS_AVDTP_AVERAGE_DELAY_REPORT_IN_NS_HISTOGRAM_INT_BUCKETS_FLOOR: i64 = 0;
21pub const AVDTP_DELAY_REPORT_IN_NANOSECONDS_AVDTP_AVERAGE_DELAY_REPORT_IN_NS_HISTOGRAM_INT_BUCKETS_NUM_BUCKETS: u32 = 20;
22pub const AVDTP_DELAY_REPORT_IN_NANOSECONDS_AVDTP_AVERAGE_DELAY_REPORT_IN_NS_HISTOGRAM_INT_BUCKETS_STEP_SIZE: u32 = 100000000;
23
24// Exponential bucket constants for fastpair_provider_pairing_status daily_device_histograms
25pub const FASTPAIR_PROVIDER_PAIRING_STATUS_DAILY_DEVICE_HISTOGRAMS_INT_BUCKETS_FLOOR: i64 = 0;
26pub const FASTPAIR_PROVIDER_PAIRING_STATUS_DAILY_DEVICE_HISTOGRAMS_INT_BUCKETS_NUM_BUCKETS: u32 = 10;
27pub const FASTPAIR_PROVIDER_PAIRING_STATUS_DAILY_DEVICE_HISTOGRAMS_INT_BUCKETS_INITIAL_STEP: u32 = 1;
28pub const FASTPAIR_PROVIDER_PAIRING_STATUS_DAILY_DEVICE_HISTOGRAMS_INT_BUCKETS_STEP_MULTIPLIER: u32 = 2;
29
30// Exponential bucket constants for fastpair_provider_peer_request daily_request_histogram
31pub const FASTPAIR_PROVIDER_PEER_REQUEST_DAILY_REQUEST_HISTOGRAM_INT_BUCKETS_FLOOR: i64 = 0;
32pub const FASTPAIR_PROVIDER_PEER_REQUEST_DAILY_REQUEST_HISTOGRAM_INT_BUCKETS_NUM_BUCKETS: u32 = 10;
33pub const FASTPAIR_PROVIDER_PEER_REQUEST_DAILY_REQUEST_HISTOGRAM_INT_BUCKETS_INITIAL_STEP: u32 = 1;
34pub const FASTPAIR_PROVIDER_PEER_REQUEST_DAILY_REQUEST_HISTOGRAM_INT_BUCKETS_STEP_MULTIPLIER: u32 = 2;
35
36// Linear bucket constants for fastpair_provider_pairing_time_seconds daily_pairing_time_histogram
37pub const FASTPAIR_PROVIDER_PAIRING_TIME_SECONDS_DAILY_PAIRING_TIME_HISTOGRAM_INT_BUCKETS_FLOOR: i64 = 0;
38pub const FASTPAIR_PROVIDER_PAIRING_TIME_SECONDS_DAILY_PAIRING_TIME_HISTOGRAM_INT_BUCKETS_NUM_BUCKETS: u32 = 20;
39pub const FASTPAIR_PROVIDER_PAIRING_TIME_SECONDS_DAILY_PAIRING_TIME_HISTOGRAM_INT_BUCKETS_STEP_SIZE: u32 = 1;
40
41// Exponential bucket constants for a2dp_stream_duration_in_seconds_migrated a2dp_stream_duration_in_seconds_per_connection
42pub const A2DP_STREAM_DURATION_IN_SECONDS_MIGRATED_A2DP_STREAM_DURATION_IN_SECONDS_PER_CONNECTION_INT_BUCKETS_FLOOR: i64 = 0;
43pub const A2DP_STREAM_DURATION_IN_SECONDS_MIGRATED_A2DP_STREAM_DURATION_IN_SECONDS_PER_CONNECTION_INT_BUCKETS_NUM_BUCKETS: u32 = 17;
44pub const A2DP_STREAM_DURATION_IN_SECONDS_MIGRATED_A2DP_STREAM_DURATION_IN_SECONDS_PER_CONNECTION_INT_BUCKETS_INITIAL_STEP: u32 = 2;
45pub const A2DP_STREAM_DURATION_IN_SECONDS_MIGRATED_A2DP_STREAM_DURATION_IN_SECONDS_PER_CONNECTION_INT_BUCKETS_STEP_MULTIPLIER: u32 = 2;
46
47// Metric ID Constants
48// bt_host_adapter_event
49pub const BT_HOST_ADAPTER_EVENT_METRIC_ID: u32 = 9;
50// bt_host_peer_bonding_event
51pub const BT_HOST_PEER_BONDING_EVENT_METRIC_ID: u32 = 10;
52// bt_host_peer_connection_event
53pub const BT_HOST_PEER_CONNECTION_EVENT_METRIC_ID: u32 = 11;
54// avrcp_new_peers
55pub const AVRCP_NEW_PEERS_METRIC_ID: u32 = 12;
56// avrcp_connections
57pub const AVRCP_CONNECTIONS_METRIC_ID: u32 = 13;
58// avrcp_channel_errors
59pub const AVRCP_CHANNEL_ERRORS_METRIC_ID: u32 = 14;
60// avrcp_remote_peer_capabilities
61pub const AVRCP_REMOTE_PEER_CAPABILITIES_METRIC_ID: u32 = 15;
62// avrcp_distinct_remote_peer_capabilities
63pub const AVRCP_DISTINCT_REMOTE_PEER_CAPABILITIES_METRIC_ID: u32 = 16;
64// paired_devices_total
65pub const PAIRED_DEVICES_TOTAL_METRIC_ID: u32 = 17;
66// bt_host_le_peer_disconnection_event
67pub const BT_HOST_LE_PEER_DISCONNECTION_EVENT_METRIC_ID: u32 = 18;
68// bt_host_bredr_peer_disconnection_event
69pub const BT_HOST_BREDR_PEER_DISCONNECTION_EVENT_METRIC_ID: u32 = 19;
70// a2dp_remote_peer_capabilities
71pub const A2DP_REMOTE_PEER_CAPABILITIES_METRIC_ID: u32 = 20;
72// avdtp_delay_report_in_nanoseconds
73pub const AVDTP_DELAY_REPORT_IN_NANOSECONDS_METRIC_ID: u32 = 21;
74// avrcp_target_distinct_peer_player_capabilities
75pub const AVRCP_TARGET_DISTINCT_PEER_PLAYER_CAPABILITIES_METRIC_ID: u32 = 22;
76// fastpair_provider_pairing_status
77pub const FASTPAIR_PROVIDER_PAIRING_STATUS_METRIC_ID: u32 = 23;
78// fastpair_provider_peer_request
79pub const FASTPAIR_PROVIDER_PEER_REQUEST_METRIC_ID: u32 = 24;
80// fastpair_provider_pairing_time_seconds
81pub const FASTPAIR_PROVIDER_PAIRING_TIME_SECONDS_METRIC_ID: u32 = 25;
82// a2dp_codec_availability_migrated
83pub const A2DP_CODEC_AVAILABILITY_MIGRATED_METRIC_ID: u32 = 103;
84// pairing_method_migrated
85pub const PAIRING_METHOD_MIGRATED_METRIC_ID: u32 = 104;
86// pairing_result_migrated
87pub const PAIRING_RESULT_MIGRATED_METRIC_ID: u32 = 105;
88// l2cap_open_channel_migrated
89pub const L2CAP_OPEN_CHANNEL_MIGRATED_METRIC_ID: u32 = 106;
90// a2dp_stream_duration_in_seconds_migrated
91pub const A2DP_STREAM_DURATION_IN_SECONDS_MIGRATED_METRIC_ID: u32 = 108;
92
93// Enum for bluetooth (Metric Dimension mode)
94#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
95pub enum BluetoothMetricDimensionMode {
96  Le = 0,
97  BrEdr = 1,
98}
99
100impl cobalt_client::traits::AsEventCode for BluetoothMetricDimensionMode {
101  fn as_event_code(&self) -> u32 {
102    *self as u32
103  }
104}
105// Alias for bt_host_adapter_event (Metric Dimension mode) which has the same event codes
106pub use BluetoothMetricDimensionMode as BtHostAdapterEventMetricDimensionMode;
107
108// Alias for bt_host_peer_bonding_event (Metric Dimension mode) which has the same event codes
109pub use BluetoothMetricDimensionMode as BtHostPeerBondingEventMetricDimensionMode;
110
111// Alias for bt_host_peer_connection_event (Metric Dimension mode) which has the same event codes
112pub use BluetoothMetricDimensionMode as BtHostPeerConnectionEventMetricDimensionMode;
113
114// Enum for bt_host_adapter_event (Metric Dimension event)
115#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
116pub enum BtHostAdapterEventMetricDimensionEvent {
117  OpenL2capChannelRequest = 0,
118  OutgoingConnectionRequest = 1,
119  PairRequest = 2,
120  RequestDiscoverable = 3,
121  RequestDiscovery = 4,
122  SetConnectableTrue = 5,
123  SetConnectableFalse = 6,
124  StartAdvertising = 7,
125  StopAdvertising = 8,
126  StartDiscovery = 9,
127}
128
129impl cobalt_client::traits::AsEventCode for BtHostAdapterEventMetricDimensionEvent {
130  fn as_event_code(&self) -> u32 {
131    *self as u32
132  }
133}
134
135// Enum for bt_host_peer_bonding_event (Metric Dimension event)
136#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
137pub enum BtHostPeerBondingEventMetricDimensionEvent {
138  Success = 0,
139  Failure = 1,
140}
141
142impl cobalt_client::traits::AsEventCode for BtHostPeerBondingEventMetricDimensionEvent {
143  fn as_event_code(&self) -> u32 {
144    *self as u32
145  }
146}
147
148// Enum for bt_host_peer_connection_event (Metric Dimension event)
149#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
150pub enum BtHostPeerConnectionEventMetricDimensionEvent {
151  Success = 0,
152  Failure = 1,
153  InterrogationComplete = 2,
154  PageTimeout = 3,
155}
156
157impl cobalt_client::traits::AsEventCode for BtHostPeerConnectionEventMetricDimensionEvent {
158  fn as_event_code(&self) -> u32 {
159    *self as u32
160  }
161}
162
163// Enum for bluetooth (Metric Dimension direction)
164#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
165pub enum BluetoothMetricDimensionDirection {
166  Unspecified = 0,
167  Incoming = 1,
168  Outgoing = 2,
169}
170
171impl cobalt_client::traits::AsEventCode for BluetoothMetricDimensionDirection {
172  fn as_event_code(&self) -> u32 {
173    *self as u32
174  }
175}
176// Alias for bt_host_peer_connection_event (Metric Dimension direction) which has the same event codes
177pub use BluetoothMetricDimensionDirection as BtHostPeerConnectionEventMetricDimensionDirection;
178
179// Enum for bluetooth (Metric Dimension channel)
180#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
181pub enum BluetoothMetricDimensionChannel {
182  Control = 0,
183  Browse = 1,
184}
185
186impl cobalt_client::traits::AsEventCode for BluetoothMetricDimensionChannel {
187  fn as_event_code(&self) -> u32 {
188    *self as u32
189  }
190}
191// Alias for avrcp_connections (Metric Dimension channel) which has the same event codes
192pub use BluetoothMetricDimensionChannel as AvrcpConnectionsMetricDimensionChannel;
193
194// Enum for bluetooth (Metric Dimension type)
195#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
196pub enum BluetoothMetricDimensionType {
197  ConnectionError = 0,
198  ControlChannelCollision = 1,
199}
200
201impl cobalt_client::traits::AsEventCode for BluetoothMetricDimensionType {
202  fn as_event_code(&self) -> u32 {
203    *self as u32
204  }
205}
206// Alias for avrcp_channel_errors (Metric Dimension type) which has the same event codes
207pub use BluetoothMetricDimensionType as AvrcpChannelErrorsMetricDimensionType;
208
209// Enum for bluetooth (Metric Dimension remote_role)
210#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
211pub enum BluetoothMetricDimensionRemoteRole {
212  Target = 0,
213  Controller = 1,
214}
215
216impl cobalt_client::traits::AsEventCode for BluetoothMetricDimensionRemoteRole {
217  fn as_event_code(&self) -> u32 {
218    *self as u32
219  }
220}
221// Alias for avrcp_remote_peer_capabilities (Metric Dimension remote_role) which has the same event codes
222pub use BluetoothMetricDimensionRemoteRole as AvrcpRemotePeerCapabilitiesMetricDimensionRemoteRole;
223
224// Alias for avrcp_distinct_remote_peer_capabilities (Metric Dimension remote_role) which has the same event codes
225pub use BluetoothMetricDimensionRemoteRole as AvrcpDistinctRemotePeerCapabilitiesMetricDimensionRemoteRole;
226
227// Enum for bluetooth (Metric Dimension feature)
228#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
229pub enum BluetoothMetricDimensionFeature {
230  SupportsBrowsing = 0,
231  SupportsCoverArt = 1,
232}
233
234impl cobalt_client::traits::AsEventCode for BluetoothMetricDimensionFeature {
235  fn as_event_code(&self) -> u32 {
236    *self as u32
237  }
238}
239// Alias for avrcp_remote_peer_capabilities (Metric Dimension feature) which has the same event codes
240pub use BluetoothMetricDimensionFeature as AvrcpRemotePeerCapabilitiesMetricDimensionFeature;
241
242// Alias for avrcp_distinct_remote_peer_capabilities (Metric Dimension feature) which has the same event codes
243pub use BluetoothMetricDimensionFeature as AvrcpDistinctRemotePeerCapabilitiesMetricDimensionFeature;
244
245// Enum for bt_host_le_peer_disconnection_event (Metric Dimension reason)
246#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
247pub enum BtHostLePeerDisconnectionEventMetricDimensionReason {
248  Unknown = 0,
249  ExplictDisconnect = 1,
250  LinkError = 2,
251  ZeroRef = 3,
252  RemoteDisconnection = 4,
253}
254
255impl cobalt_client::traits::AsEventCode for BtHostLePeerDisconnectionEventMetricDimensionReason {
256  fn as_event_code(&self) -> u32 {
257    *self as u32
258  }
259}
260
261// Enum for bt_host_bredr_peer_disconnection_event (Metric Dimension reason)
262#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
263pub enum BtHostBredrPeerDisconnectionEventMetricDimensionReason {
264  Unknown = 0,
265  ApiRequest = 1,
266  InterrogationFailed = 2,
267  PairingFailed = 3,
268  AclLinkError = 4,
269  PeerDisconnection = 5,
270}
271
272impl cobalt_client::traits::AsEventCode for BtHostBredrPeerDisconnectionEventMetricDimensionReason {
273  fn as_event_code(&self) -> u32 {
274    *self as u32
275  }
276}
277
278// Enum for bluetooth (Metric Dimension capability)
279#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
280pub enum BluetoothMetricDimensionCapability {
281  Unknown = 0,
282  Basic = 1,
283  DelayReport = 2,
284  Reporting = 3,
285  Recovery = 4,
286  ContentProtection = 5,
287  HeaderCompression = 6,
288  Multiplexing = 7,
289}
290
291impl cobalt_client::traits::AsEventCode for BluetoothMetricDimensionCapability {
292  fn as_event_code(&self) -> u32 {
293    *self as u32
294  }
295}
296// Alias for a2dp_remote_peer_capabilities (Metric Dimension capability) which has the same event codes
297pub use BluetoothMetricDimensionCapability as A2dpRemotePeerCapabilitiesMetricDimensionCapability;
298
299// Enum for avrcp_target_distinct_peer_player_capabilities (Metric Dimension browsing)
300#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
301pub enum AvrcpTargetDistinctPeerPlayerCapabilitiesMetricDimensionBrowsing {
302  Unknown = 0,
303  Unsupported = 1,
304  Supported = 2,
305  SupportedWhenAddressed = 3,
306}
307
308impl cobalt_client::traits::AsEventCode for AvrcpTargetDistinctPeerPlayerCapabilitiesMetricDimensionBrowsing {
309  fn as_event_code(&self) -> u32 {
310    *self as u32
311  }
312}
313
314// Alias for avrcp_target_distinct_peer_player_capabilities (Metric Dimension searching) which has the same event codes
315pub use AvrcpTargetDistinctPeerPlayerCapabilitiesMetricDimensionBrowsing as AvrcpTargetDistinctPeerPlayerCapabilitiesMetricDimensionSearching;
316
317// Enum for bluetooth (Metric Dimension now_playing)
318#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
319pub enum BluetoothMetricDimensionNowPlaying {
320  Unknown = 0,
321  Unsupported = 1,
322  Supported = 2,
323}
324
325impl cobalt_client::traits::AsEventCode for BluetoothMetricDimensionNowPlaying {
326  fn as_event_code(&self) -> u32 {
327    *self as u32
328  }
329}
330// Alias for avrcp_target_distinct_peer_player_capabilities (Metric Dimension now_playing) which has the same event codes
331pub use BluetoothMetricDimensionNowPlaying as AvrcpTargetDistinctPeerPlayerCapabilitiesMetricDimensionNowPlaying;
332
333// Enum for fastpair_provider_pairing_status (Metric Dimension result)
334#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
335pub enum FastpairProviderPairingStatusMetricDimensionResult {
336  Success = 1,
337  Failure = 2,
338}
339
340impl cobalt_client::traits::AsEventCode for FastpairProviderPairingStatusMetricDimensionResult {
341  fn as_event_code(&self) -> u32 {
342    *self as u32
343  }
344}
345
346// Enum for bluetooth (Metric Dimension request_type)
347#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
348pub enum BluetoothMetricDimensionRequestType {
349  RetroactivePairing = 1,
350  PersonalizedNameWrite = 2,
351  ProviderInitiatesPairing = 3,
352  DeviceAction = 4,
353}
354
355impl cobalt_client::traits::AsEventCode for BluetoothMetricDimensionRequestType {
356  fn as_event_code(&self) -> u32 {
357    *self as u32
358  }
359}
360// Alias for fastpair_provider_peer_request (Metric Dimension request_type) which has the same event codes
361pub use BluetoothMetricDimensionRequestType as FastpairProviderPeerRequestMetricDimensionRequestType;
362
363// Enum for bluetooth (Metric Dimension codec)
364#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
365pub enum BluetoothMetricDimensionCodec {
366  Unknown = 0,
367  Sbc = 1,
368  Mpeg12 = 2,
369  Aac = 3,
370  Atrac = 4,
371  VendorSpecific = 5,
372}
373
374impl cobalt_client::traits::AsEventCode for BluetoothMetricDimensionCodec {
375  fn as_event_code(&self) -> u32 {
376    *self as u32
377  }
378}
379// Alias for a2dp_codec_availability_migrated (Metric Dimension codec) which has the same event codes
380pub use BluetoothMetricDimensionCodec as A2dpCodecAvailabilityMigratedMetricDimensionCodec;
381
382// Alias for a2dp_stream_duration_in_seconds_migrated (Metric Dimension codec) which has the same event codes
383pub use BluetoothMetricDimensionCodec as A2dpStreamDurationInSecondsMigratedMetricDimensionCodec;
384
385// Enum for bluetooth (Metric Dimension method)
386#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
387pub enum BluetoothMetricDimensionMethod {
388  Consent = 0,
389  PasskeyDisplay = 1,
390  PasskeyComparison = 2,
391  PasskeyEntry = 3,
392}
393
394impl cobalt_client::traits::AsEventCode for BluetoothMetricDimensionMethod {
395  fn as_event_code(&self) -> u32 {
396    *self as u32
397  }
398}
399// Alias for pairing_method_migrated (Metric Dimension method) which has the same event codes
400pub use BluetoothMetricDimensionMethod as PairingMethodMigratedMetricDimensionMethod;
401
402// Enum for pairing_result_migrated (Metric Dimension result)
403#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
404pub enum PairingResultMigratedMetricDimensionResult {
405  Success = 0,
406  ErrorUnknown = 1,
407  ErrorCanceled = 2,
408  ErrorInProgress = 3,
409  ErrorTimedOut = 4,
410  ErrorNotFound = 5,
411  ErrorNotSupported = 6,
412  ErrorBluetoothNotAvailable = 7,
413  ErrorBadState = 8,
414  ErrorInvalidArguments = 9,
415  ErrorAlready = 10,
416  ErrorProtocolError = 11,
417}
418
419impl cobalt_client::traits::AsEventCode for PairingResultMigratedMetricDimensionResult {
420  fn as_event_code(&self) -> u32 {
421    *self as u32
422  }
423}
424
425// Enum for bluetooth (Metric Dimension link_layer_type)
426#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
427pub enum BluetoothMetricDimensionLinkLayerType {
428  Acl = 0,
429  Le = 1,
430}
431
432impl cobalt_client::traits::AsEventCode for BluetoothMetricDimensionLinkLayerType {
433  fn as_event_code(&self) -> u32 {
434    *self as u32
435  }
436}
437// Alias for l2cap_open_channel_migrated (Metric Dimension link_layer_type) which has the same event codes
438pub use BluetoothMetricDimensionLinkLayerType as L2capOpenChannelMigratedMetricDimensionLinkLayerType;
439
440// Enum for bluetooth (Metric Dimension initiator)
441#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
442pub enum BluetoothMetricDimensionInitiator {
443  True = 0,
444  False = 1,
445}
446
447impl cobalt_client::traits::AsEventCode for BluetoothMetricDimensionInitiator {
448  fn as_event_code(&self) -> u32 {
449    *self as u32
450  }
451}
452// Alias for l2cap_open_channel_migrated (Metric Dimension initiator) which has the same event codes
453pub use BluetoothMetricDimensionInitiator as L2capOpenChannelMigratedMetricDimensionInitiator;
454
455#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
456pub struct BtHostAdapterEventEventCodes {
457  pub mode: BtHostAdapterEventMetricDimensionMode,
458  pub event: BtHostAdapterEventMetricDimensionEvent,
459}
460
461impl cobalt_client::traits::AsEventCodes for BtHostAdapterEventEventCodes {
462  fn as_event_codes(&self) -> Vec<u32> {
463    use cobalt_client::traits::AsEventCode;
464    vec![
465      self.mode.as_event_code(),
466      self.event.as_event_code(),
467    ]
468  }
469}
470
471#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
472pub struct BtHostPeerBondingEventEventCodes {
473  pub mode: BtHostPeerBondingEventMetricDimensionMode,
474  pub event: BtHostPeerBondingEventMetricDimensionEvent,
475}
476
477impl cobalt_client::traits::AsEventCodes for BtHostPeerBondingEventEventCodes {
478  fn as_event_codes(&self) -> Vec<u32> {
479    use cobalt_client::traits::AsEventCode;
480    vec![
481      self.mode.as_event_code(),
482      self.event.as_event_code(),
483    ]
484  }
485}
486
487#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
488pub struct BtHostPeerConnectionEventEventCodes {
489  pub mode: BtHostPeerConnectionEventMetricDimensionMode,
490  pub event: BtHostPeerConnectionEventMetricDimensionEvent,
491  pub direction: BtHostPeerConnectionEventMetricDimensionDirection,
492}
493
494impl cobalt_client::traits::AsEventCodes for BtHostPeerConnectionEventEventCodes {
495  fn as_event_codes(&self) -> Vec<u32> {
496    use cobalt_client::traits::AsEventCode;
497    vec![
498      self.mode.as_event_code(),
499      self.event.as_event_code(),
500      self.direction.as_event_code(),
501    ]
502  }
503}
504
505#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
506pub struct AvrcpRemotePeerCapabilitiesEventCodes {
507  pub remote_role: AvrcpRemotePeerCapabilitiesMetricDimensionRemoteRole,
508  pub feature: AvrcpRemotePeerCapabilitiesMetricDimensionFeature,
509}
510
511impl cobalt_client::traits::AsEventCodes for AvrcpRemotePeerCapabilitiesEventCodes {
512  fn as_event_codes(&self) -> Vec<u32> {
513    use cobalt_client::traits::AsEventCode;
514    vec![
515      self.remote_role.as_event_code(),
516      self.feature.as_event_code(),
517    ]
518  }
519}
520
521#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
522pub struct AvrcpDistinctRemotePeerCapabilitiesEventCodes {
523  pub remote_role: AvrcpDistinctRemotePeerCapabilitiesMetricDimensionRemoteRole,
524  pub feature: AvrcpDistinctRemotePeerCapabilitiesMetricDimensionFeature,
525}
526
527impl cobalt_client::traits::AsEventCodes for AvrcpDistinctRemotePeerCapabilitiesEventCodes {
528  fn as_event_codes(&self) -> Vec<u32> {
529    use cobalt_client::traits::AsEventCode;
530    vec![
531      self.remote_role.as_event_code(),
532      self.feature.as_event_code(),
533    ]
534  }
535}
536
537#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
538pub struct AvrcpTargetDistinctPeerPlayerCapabilitiesEventCodes {
539  pub browsing: AvrcpTargetDistinctPeerPlayerCapabilitiesMetricDimensionBrowsing,
540  pub searching: AvrcpTargetDistinctPeerPlayerCapabilitiesMetricDimensionSearching,
541  pub now_playing: AvrcpTargetDistinctPeerPlayerCapabilitiesMetricDimensionNowPlaying,
542}
543
544impl cobalt_client::traits::AsEventCodes for AvrcpTargetDistinctPeerPlayerCapabilitiesEventCodes {
545  fn as_event_codes(&self) -> Vec<u32> {
546    use cobalt_client::traits::AsEventCode;
547    vec![
548      self.browsing.as_event_code(),
549      self.searching.as_event_code(),
550      self.now_playing.as_event_code(),
551    ]
552  }
553}
554
555#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
556pub struct L2capOpenChannelMigratedEventCodes {
557  pub link_layer_type: L2capOpenChannelMigratedMetricDimensionLinkLayerType,
558  pub initiator: L2capOpenChannelMigratedMetricDimensionInitiator,
559}
560
561impl cobalt_client::traits::AsEventCodes for L2capOpenChannelMigratedEventCodes {
562  fn as_event_codes(&self) -> Vec<u32> {
563    use cobalt_client::traits::AsEventCode;
564    vec![
565      self.link_layer_type.as_event_code(),
566      self.initiator.as_event_code(),
567    ]
568  }
569}
570