IOKit.IOObject (JNA API)
Description: declaration: package: com.sun.jna.platform.mac, interface: IOKit, class: IOObject

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.