|  | // Copyright 2023 Google LLC | 
|  | // Use of this source code is governed by a BSD-style license that can be | 
|  | // found in the LICENSE file. | 
|  |  | 
|  | /// A Bluetooth Company ID, which is assigned by the Bluetotoh SIG. | 
|  | /// Company identifiers are unique numbers assigned by the Bluetooth SIG to | 
|  | /// member companies requesting one. Referenced in the Bluetooth Core Spec in | 
|  | /// many commands and formats. See the Assigned Number Document for a reference. | 
|  | #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] | 
|  | pub struct CompanyId(u16); | 
|  |  | 
|  | impl From<u16> for CompanyId { | 
|  | fn from(value: u16) -> Self { | 
|  | Self(value) | 
|  | } | 
|  | } | 
|  |  | 
|  | impl From<CompanyId> for u16 { | 
|  | fn from(value: CompanyId) -> Self { | 
|  | value.0 | 
|  | } | 
|  | } | 
|  |  | 
|  | impl core::fmt::Display for CompanyId { | 
|  | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { | 
|  | write!(f, "Company (ID {:02x})", self.0) | 
|  | } | 
|  | } |