pub struct IOHIDValue { /* private fields */ }hid only.Expand description
This is the type of a reference to the IOHIDValue.
See also Apple’s documentation
Implementations§
Source§impl IOHIDValue
impl IOHIDValue
Sourcepub fn with_integer_value(
allocator: Option<&CFAllocator>,
element: &IOHIDElement,
time_stamp: u64,
value: CFIndex,
) -> CFRetained<IOHIDValue>
pub fn with_integer_value( allocator: Option<&CFAllocator>, element: &IOHIDElement, time_stamp: u64, value: CFIndex, ) -> CFRetained<IOHIDValue>
Creates a new element value using an integer value.
IOHIDValueGetTimeStamp should represent OS AbsoluteTime, not CFAbsoluteTime. To obtain the OS AbsoluteTime, please reference the APIs declared in <mach /mach_time.h>
Parameter allocator: The CFAllocator which should be used to allocate memory for the value. This
parameter may be NULL in which case the current default CFAllocator is used. If this
reference is not a valid CFAllocator, the behavior is undefined.
Parameter element: IOHIDElementRef associated with this value.
Parameter timeStamp: OS absolute time timestamp for this value.
Parameter value: Integer value to be copied to this object.
Returns: Returns a reference to a new IOHIDValueRef.
Sourcepub unsafe fn with_bytes(
allocator: Option<&CFAllocator>,
element: &IOHIDElement,
time_stamp: u64,
bytes: NonNull<u8>,
length: CFIndex,
) -> Option<CFRetained<IOHIDValue>>
pub unsafe fn with_bytes( allocator: Option<&CFAllocator>, element: &IOHIDElement, time_stamp: u64, bytes: NonNull<u8>, length: CFIndex, ) -> Option<CFRetained<IOHIDValue>>
Creates a new element value using byte data.
IOHIDValueGetTimeStamp should represent OS AbsoluteTime, not CFAbsoluteTime. To obtain the OS AbsoluteTime, please reference the APIs declared in <mach /mach_time.h>
Parameter allocator: The CFAllocator which should be used to allocate memory for the value. This
parameter may be NULL in which case the current default CFAllocator is used. If this
reference is not a valid CFAllocator, the behavior is undefined.
Parameter element: IOHIDElementRef associated with this value.
Parameter timeStamp: OS absolute time timestamp for this value.
Parameter bytes: Pointer to a buffer of uint8_t to be copied to this object.
Parameter length: Number of bytes in the passed buffer.
Returns: Returns a reference to a new IOHIDValueRef.
§Safety
bytes must be a valid pointer.
Sourcepub unsafe fn with_bytes_no_copy(
allocator: Option<&CFAllocator>,
element: &IOHIDElement,
time_stamp: u64,
bytes: NonNull<u8>,
length: CFIndex,
) -> Option<CFRetained<IOHIDValue>>
pub unsafe fn with_bytes_no_copy( allocator: Option<&CFAllocator>, element: &IOHIDElement, time_stamp: u64, bytes: NonNull<u8>, length: CFIndex, ) -> Option<CFRetained<IOHIDValue>>
Creates a new element value using byte data without performing a copy.
The timestamp value passed should represent OS AbsoluteTime, not CFAbsoluteTime. To obtain the OS AbsoluteTime, please reference the APIs declared in <mach /mach_time.h>
Parameter allocator: The CFAllocator which should be used to allocate memory for the value. This
parameter may be NULL in which case the current default CFAllocator is used. If this
reference is not a valid CFAllocator, the behavior is undefined.
Parameter element: IOHIDElementRef associated with this value.
Parameter timeStamp: OS absolute time timestamp for this value.
Parameter bytes: Pointer to a buffer of uint8_t to be referenced by this object.
Parameter length: Number of bytes in the passed buffer.
Returns: Returns a reference to a new IOHIDValueRef.
§Safety
bytes must be a valid pointer.
Sourcepub fn element(&self) -> CFRetained<IOHIDElement>
pub fn element(&self) -> CFRetained<IOHIDElement>
Returns the element value associated with this IOHIDValueRef.
Parameter value: The value to be queried. If this parameter is not a valid IOHIDValueRef, the behavior is undefined.
Returns: Returns a IOHIDElementRef referenced by this value.
Sourcepub fn time_stamp(&self) -> u64
pub fn time_stamp(&self) -> u64
Returns the timestamp value contained in this IOHIDValueRef.
The timestamp value returned represents OS AbsoluteTime, not CFAbsoluteTime.
Parameter value: The value to be queried. If this parameter is not a valid IOHIDValueRef, the behavior is undefined.
Returns: Returns a uint64_t representing the timestamp of this value.
Sourcepub fn length(&self) -> CFIndex
pub fn length(&self) -> CFIndex
Returns the size, in bytes, of the value contained in this IOHIDValueRef.
Parameter value: The value to be queried. If this parameter is not a valid IOHIDValueRef, the behavior is undefined.
Returns: Returns length of the value.
Sourcepub fn byte_ptr(&self) -> NonNull<u8>
pub fn byte_ptr(&self) -> NonNull<u8>
Returns a byte pointer to the value contained in this IOHIDValueRef.
Parameter value: The value to be queried. If this parameter is not a valid IOHIDValueRef, the behavior is undefined.
Returns: Returns a pointer to the value.
Sourcepub fn integer_value(&self) -> CFIndex
pub fn integer_value(&self) -> CFIndex
Returns an integer representaion of the value contained in this IOHIDValueRef.
The value is based on the logical element value contained in the report returned by the device.
Parameter value: The value to be queried. If this parameter is not a valid IOHIDValueRef, the behavior is undefined.
Returns: Returns an integer representation of the value.
Sourcepub fn scaled_value(&self, type: IOHIDValueScaleType) -> c_double
pub fn scaled_value(&self, type: IOHIDValueScaleType) -> c_double
Returns an scaled representaion of the value contained in this IOHIDValueRef based on the scale type.
The scaled value is based on the range described by the scale type’s min and max, such that:
scaledValue = ((value - min) * (scaledMax - scaledMin) / (max - min)) + scaledMin
Note:
There are currently two types of scaling that can be applied:
- kIOHIDValueScaleTypePhysical : Scales element value using the physical bounds of the device such that scaledMin = physicalMin and scaledMax = physicalMax .
- kIOHIDValueScaleTypeCalibrated : Scales element value such that scaledMin = -1 and scaledMax = 1 . This value will also take into account the calibration properties associated with this element.
Parameter value: The value to be queried. If this parameter is not a valid IOHIDValueRef, the behavior is undefined.
Parameter type: The type of scaling to be performed.
Returns: Returns an scaled floating point representation of the value.
Methods from Deref<Target = CFType>§
Sourcepub fn downcast_ref<T>(&self) -> Option<&T>where
T: ConcreteType,
pub fn downcast_ref<T>(&self) -> Option<&T>where
T: ConcreteType,
Attempt to downcast the type to that of type T.
This is the reference-variant. Use CFRetained::downcast if you
want to convert a retained type. See also ConcreteType for more
details on which types support being converted to.
Sourcepub fn retain_count(&self) -> usize
pub fn retain_count(&self) -> usize
Get the reference count of the object.
This function may be useful for debugging. You normally do not use this function otherwise.
Beware that some things (like CFNumbers, small CFStrings etc.) may
not have a normal retain count for optimization purposes, and can
return usize::MAX in that case.
Trait Implementations§
Source§impl AsRef<AnyObject> for IOHIDValue
impl AsRef<AnyObject> for IOHIDValue
Source§impl AsRef<CFType> for IOHIDValue
impl AsRef<CFType> for IOHIDValue
Source§impl AsRef<IOHIDValue> for IOHIDValue
impl AsRef<IOHIDValue> for IOHIDValue
Source§impl Borrow<AnyObject> for IOHIDValue
impl Borrow<AnyObject> for IOHIDValue
Source§impl Borrow<CFType> for IOHIDValue
impl Borrow<CFType> for IOHIDValue
Source§impl ConcreteType for IOHIDValue
impl ConcreteType for IOHIDValue
Source§impl Debug for IOHIDValue
impl Debug for IOHIDValue
Source§impl Deref for IOHIDValue
impl Deref for IOHIDValue
Source§impl Hash for IOHIDValue
impl Hash for IOHIDValue
Source§impl Message for IOHIDValue
impl Message for IOHIDValue
Source§impl PartialEq for IOHIDValue
impl PartialEq for IOHIDValue
Source§impl RefEncode for IOHIDValue
impl RefEncode for IOHIDValue
Source§const ENCODING_REF: Encoding
const ENCODING_REF: Encoding
Source§impl Type for IOHIDValue
impl Type for IOHIDValue
Source§fn retain(&self) -> CFRetained<Self>where
Self: Sized,
fn retain(&self) -> CFRetained<Self>where
Self: Sized,
Source§fn as_concrete_TypeRef(&self) -> &Self
fn as_concrete_TypeRef(&self) -> &Self
core-foundation crate.Source§unsafe fn wrap_under_get_rule(ptr: *const Self) -> CFRetained<Self>where
Self: Sized,
unsafe fn wrap_under_get_rule(ptr: *const Self) -> CFRetained<Self>where
Self: Sized,
core-foundation crate. Read moreSource§fn as_CFTypeRef(&self) -> &CFType
fn as_CFTypeRef(&self) -> &CFType
core-foundation crate.Source§unsafe fn wrap_under_create_rule(ptr: *const Self) -> CFRetained<Self>where
Self: Sized,
unsafe fn wrap_under_create_rule(ptr: *const Self) -> CFRetained<Self>where
Self: Sized,
core-foundation crate. Read more