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
Constructor
Description
`IOObject()`
`IOObject(Pointer p)`

## Method Summary

Modifier and Type
Method
Description
`boolean`
`conformsTo(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 Details

### IOObject

public IOObject()

### IOObject

public IOObject(Pointer p)

## Method Details

### conformsTo

public boolean conformsTo(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.