Package com.sun.jna.platform.mac

## Class IOKit.IOObject

- java.lang.Object
- - com.sun.jna.PointerType
  - - com.sun.jna.platform.mac.IOKit.IOObject

All Implemented Interfaces:
  `NativeMapped`

Direct Known Subclasses:
  `IOKit.IOIterator`, `IOKit.IORegistryEntry`

Enclosing interface:
  IOKit

    public static class IOKit.IOObject
    extends PointerType

IOKitLib implements non-kernel task access to common IOKit object types - IORegistryEntry, IOService, IOIterator etc. These functions are generic - families may provide API that is more specific.

IOKitLib represents IOKit objects outside the kernel with the types io_object_t, io_registry_entry_t, io_service_t, and io_connect_t. Function names usually begin with the type of object they are compatible with - e.g., IOObjectRelease can be used with any io_object_t. Inside the kernel, the c++ class hierarchy allows the subclasses of each object type to receive the same requests from user level clients, for example in the kernel, IOService is a subclass of IORegistryEntry, which means any of the IORegistryEntryXXX functions in IOKitLib may be used with io_service_t's as well as io_registry_t's. There are functions available to introspect the class of the kernel object which any io_object_t et al. represents. IOKit objects returned by all functions should be released with `IOKit.IOObjectRelease(com.sun.jna.platform.mac.IOKit.IOObject)`.

### Constructor Summary

Constructors
`IOObject()`
`IOObject​(Pointer p)`

### Method Summary

All Methods Instance Methods Concrete Methods
`boolean` `conformsTo​(java.lang.String className)` Convenience method for `IOKit.IOObjectConformsTo(com.sun.jna.platform.mac.IOKit.IOObject, java.lang.String)` on this object.
`int` `release()` Convenience method for `IOKit.IOObjectRelease(com.sun.jna.platform.mac.IOKit.IOObject)` on this object.

### Methods inherited from class com.sun.jna.PointerType

`equals, fromNative, getPointer, hashCode, nativeType, setPointer, toNative, toString`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### Constructor Detail

#### IOObject

    public IOObject()

#### IOObject

    public IOObject​(Pointer p)

### Method Detail

#### conformsTo

    public boolean conformsTo​(java.lang.String className)

Convenience method for `IOKit.IOObjectConformsTo(com.sun.jna.platform.mac.IOKit.IOObject, java.lang.String)` on this object.

Parameters:
  `className` - The name of the class.
Returns:
  If the object handle is valid, and represents an object in the kernel that dynamic casts to the class true is returned, otherwise false.

#### release

    public int release()

Convenience method for `IOKit.IOObjectRelease(com.sun.jna.platform.mac.IOKit.IOObject)` on this object.

Returns:
  0 if successful, otherwise a `kern_return_t` error code.