IOHIDDeviceTransactionInterface

Struct IOHIDDeviceTransactionInterface 

Source
pub struct IOHIDDeviceTransactionInterface {
Show 13 fields pub QueryInterface: Option<unsafe extern "C-unwind" fn(*mut c_void, REFIID, *mut LPVOID) -> HRESULT>, pub AddRef: Option<unsafe extern "C-unwind" fn(*mut c_void) -> ULONG>, pub Release: Option<unsafe extern "C-unwind" fn(*mut c_void) -> ULONG>, pub getAsyncEventSource: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut *const CFType) -> IOReturn>, pub setDirection: Option<unsafe extern "C-unwind" fn(*mut c_void, IOHIDTransactionDirectionType, IOOptionBits) -> IOReturn>, pub getDirection: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut IOHIDTransactionDirectionType) -> IOReturn>, pub addElement: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut IOHIDElement, IOOptionBits) -> IOReturn>, pub removeElement: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut IOHIDElement, IOOptionBits) -> IOReturn>, pub containsElement: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut IOHIDElement, *mut u8, IOOptionBits) -> IOReturn>, pub setValue: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut IOHIDElement, *mut IOHIDValue, IOOptionBits) -> IOReturn>, pub getValue: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut IOHIDElement, *mut *mut IOHIDValue, IOOptionBits) -> IOReturn>, pub commit: Option<unsafe extern "C-unwind" fn(*mut c_void, u32, IOHIDCallback, *mut c_void, IOOptionBits) -> IOReturn>, pub clear: Option<unsafe extern "C-unwind" fn(*mut c_void, IOOptionBits) -> IOReturn>, /* private fields */
}
Available on crate feature hid only.
Expand description

The object you use to access a HID transaction from user space, returned by version 1.5 of the IOHIDFamily.

The functions listed here will work with any version of the IOHIDDeviceTransactionInterface. This functionality is useful when either setting or getting the values for multiple parsed elements.

See also Apple’s documentation

Fields§

§QueryInterface: Option<unsafe extern "C-unwind" fn(*mut c_void, REFIID, *mut LPVOID) -> HRESULT>§AddRef: Option<unsafe extern "C-unwind" fn(*mut c_void) -> ULONG>§Release: Option<unsafe extern "C-unwind" fn(*mut c_void) -> ULONG>§getAsyncEventSource: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut *const CFType) -> IOReturn>

Obtains the event source for this IOHIDDeviceTransactionInterface instance.

The returned event source can be of type CFRunLoopSourceRef or CFRunLoopTimerRef.

Parameter self: Pointer to the IOHIDDeviceTransactionInterface.

Parameter pSource: Pointer to a CFType to return the run loop event source.

Returns: Returns kIOReturnSuccess if successful or a kern_return_t if unsuccessful.

§setDirection: Option<unsafe extern "C-unwind" fn(*mut c_void, IOHIDTransactionDirectionType, IOOptionBits) -> IOReturn>

Sets the direction for this IOHIDDeviceTransactionInterface instance.

Direction constants are declared in IOHIDTransactionDirectionType. Changing directions is useful when dealing with elements of type kIOHIDElementTypeFeature as you use the transaction to both set and get element values.

Parameter self: Pointer to the IOHIDDeviceTransactionInterface.

Parameter direction: Transaction direction of type IOHIDTransactionDirectionType.

Parameter options: Reserved for future use. Ignored in current implementation. Set to zero.

Returns: Returns kIOReturnSuccess if successful or a kern_return_t if unsuccessful.

§getDirection: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut IOHIDTransactionDirectionType) -> IOReturn>

Obtains the direction for this IOHIDDeviceTransactionInterface instance.

Direction constants are declared in IOHIDTransactionDirectionType.

Parameter self: Pointer to the IOHIDDeviceTransactionInterface.

Parameter pDirection: Pointer to a IOHIDTransactionDirectionType to obtain transaction direction.

Returns: Returns kIOReturnSuccess if successful or a kern_return_t if unsuccessful.

§addElement: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut IOHIDElement, IOOptionBits) -> IOReturn>

Adds an element to this IOHIDDeviceTransactionInterface instance.

Parameter self: Pointer to the IOHIDDeviceTransactionInterface.

Parameter element: IOHIDElementRef referencing the element to be added to the transaction.

Parameter options: Reserved for future use. Ignored in current implementation. Set to zero.

Returns: Returns kIOReturnSuccess if successful or a kern_return_t if unsuccessful.

§removeElement: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut IOHIDElement, IOOptionBits) -> IOReturn>

Removes an element from this IOHIDDeviceTransactionInterface instance.

Parameter self: Pointer to the IOHIDDeviceTransactionInterface.

Parameter element: IOHIDElementRef referencing the element to be removed from the transaction.

Parameter options: Reserved for future use. Ignored in current implementation. Set to zero.

Returns: Returns kIOReturnSuccess if successful or a kern_return_t if unsuccessful.

§containsElement: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut IOHIDElement, *mut u8, IOOptionBits) -> IOReturn>

Checks whether an element has been added to this IOHIDDeviceTransactionInterface instance.

Parameter self: Pointer to the IOHIDDeviceTransactionInterface.

Parameter element: IOHIDElementRef referencing the element to be be found in the transaction.

Parameter pValue: Pointer to a Boolean to return whether or not the element was found in the transaction.

Parameter options: Reserved for future use. Ignored in current implementation. Set to zero.

Returns: Returns kIOReturnSuccess if successful or a kern_return_t if unsuccessful.

§setValue: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut IOHIDElement, *mut IOHIDValue, IOOptionBits) -> IOReturn>

Sets the transaction value for an element in this IOHIDDeviceTransactionInterface instance.

This method is intended for use with transaction of direction kIOHIDTransactionDirectionTypeOutput. Use the kIOHIDTransactionOptionDefaultOutputValue option to set the default element value.

Parameter self: Pointer to the IOHIDDeviceTransactionInterface.

Parameter element: IOHIDElementRef referencing the element of interest.

Parameter value: IOHIDValueRef referencing element value to be used in the transaction.

Parameter options: See IOHIDTransactionOption.

Returns: Returns kIOReturnSuccess if successful or a kern_return_t if unsuccessful.

§getValue: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut IOHIDElement, *mut *mut IOHIDValue, IOOptionBits) -> IOReturn>

Obtains the transaction value for an element in this IOHIDDeviceTransactionInterface instance.

Use the kIOHIDTransactionOptionDefaultOutputValue option to get the default element value.

Parameter self: Pointer to the IOHIDDeviceTransactionInterface.

Parameter element: IOHIDElementRef referencing the element of interest.

Parameter pValue: Pointer to an IOHIDValueRef to return the element value of the transaction.

Parameter options: See IOHIDTransactionOption.

Returns: Returns kIOReturnSuccess if successful or a kern_return_t if unsuccessful.

§commit: Option<unsafe extern "C-unwind" fn(*mut c_void, u32, IOHIDCallback, *mut c_void, IOOptionBits) -> IOReturn>

Commits element transaction to an IOHIDDevice in this IOHIDDeviceTransactionInterface instance.

In regards to kIOHIDTransactionDirectionTypeOutput direction, default element values will be used if element values are not set. If neither are set, that element will be omitted from the commit. After a transaction is committed, transaction element values will be cleared and default values preserved.
Note: It is possible for elements from different reports to be present in a given transaction causing a commit to transcend multiple reports. Keep this in mind when setting a timeout.

Parameter self: Pointer to the IOHIDDeviceTransactionInterface.

Parameter timeout: Timeout in milliseconds for issuing the transaction.

Parameter callback: Callback of type IOHIDCallback to be used when transaction has been completed. If null, this method will behave synchronously.

Parameter context: Pointer to data to be passed to the callback.

Parameter options: Reserved for future use. Ignored in current implementation. Set to zero.

Returns: Returns kIOReturnSuccess if successful or a kern_return_t if unsuccessful.

§clear: Option<unsafe extern "C-unwind" fn(*mut c_void, IOOptionBits) -> IOReturn>

Clears element transaction values for an IOHIDDeviceTransactionInterface.

In regards to kIOHIDTransactionDirectionTypeOutput direction, default element values will be preserved.

Parameter self: Pointer to the IOHIDDeviceTransactionInterface.

Parameter options: Reserved for future use. Ignored in current implementation. Set to zero.

Returns: Returns kIOReturnSuccess if successful or a kern_return_t if unsuccessful.

Trait Implementations§

Source§

impl Clone for IOHIDDeviceTransactionInterface

Source§

fn clone(&self) -> IOHIDDeviceTransactionInterface

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for IOHIDDeviceTransactionInterface

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Encode for IOHIDDeviceTransactionInterface

Available on crate feature objc2 only.
Source§

const ENCODING: Encoding

The Objective-C type-encoding for this type.
Source§

impl PartialEq for IOHIDDeviceTransactionInterface

Source§

fn eq(&self, other: &IOHIDDeviceTransactionInterface) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl RefEncode for IOHIDDeviceTransactionInterface

Available on crate feature objc2 only.
Source§

const ENCODING_REF: Encoding

The Objective-C type-encoding for a reference of this type. Read more
Source§

impl Copy for IOHIDDeviceTransactionInterface

Source§

impl StructuralPartialEq for IOHIDDeviceTransactionInterface

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> EncodeArgument for T
where T: Encode,

Source§

const ENCODING_ARGUMENT: Encoding = T::ENCODING

The Objective-C type-encoding for this type.
Source§

impl<T> EncodeReturn for T
where T: Encode,

Source§

const ENCODING_RETURN: Encoding = T::ENCODING

The Objective-C type-encoding for this type.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> AutoreleaseSafe for T
where T: ?Sized,