Udev.UdevDevice (JNA API)
Description: declaration: package: com.sun.jna.platform.linux, interface: Udev, class: UdevDevice

Package com.sun.jna.platform.linux

# Class Udev.UdevDevice

java.lang.Object
com.sun.jna.PointerType
com.sun.jna.platform.linux.Udev.UdevDevice

All Implemented Interfaces:
  `NativeMapped`

Enclosing interface:
  Udev

public static class Udev.UdevDevice extends PointerType
To introspect a local device on a system, a udev device object can be created via `Udev.UdevContext.deviceNewFromSyspath(String)` and friends. The device object allows one to query current state, read and write attributes and lookup properties of the device in question.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `UdevDevice()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `getDevnode()`
  Gets the devnode of this device
  `String`
  `getDevtype()`
  Gets the devtype of this device
  `Udev.UdevDevice`
  `getParent()`
  Gets the parent of this device
  `Udev.UdevDevice`
  `getParentWithSubsystemDevtype(String subsystem, String devtype)`
  Gets the parent of this device matching a subsystem and devtype
  `String`
  `getPropertyValue(String key)`
  Retrieves a device property from this device
  `String`
  `getSubsystem()`
  Gets the subsystem of this device
  `String`
  `getSysattrValue(String sysattr)`
  Retrieves a device attribute from this device
  `String`
  `getSysname()`
  Gets the sysname of this device
  `String`
  `getSyspath()`
  Gets the syspath of this device
  `Udev.UdevDevice`
  `ref()`
  Acquire a further reference to this object.
  `void`
  `unref()`
  Drop a reference to 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

  - ### UdevDevice

    public UdevDevice()

- ## Method Details

  - ### ref

    public Udev.UdevDevice ref()
    Acquire a further reference to this object.
    Returns:
      this object, unmodified.

  - ### unref

    public void unref()
    Drop a reference to this object. Once the reference count hits 0, the context object is destroyed and freed.

  - ### getParent

    public Udev.UdevDevice getParent()
    Gets the parent of this device
    Returns:
      the parent device. No additional reference to this device is acquired, but the child device owns a reference to the parent device. On failure, NULL is returned.

  - ### getParentWithSubsystemDevtype

    public Udev.UdevDevice getParentWithSubsystemDevtype(String subsystem, String devtype)
    Gets the parent of this device matching a subsystem and devtype
    Parameters:
      `subsystem` - The subsystem to match
      `devtype` - The device type to match
    Returns:
      the parent device. No additional reference to this device is acquired, but the child device owns a reference to the parent device. On failure, NULL is returned.

  - ### getSyspath

    public String getSyspath()
    Gets the syspath of this device
    Returns:
      a string that describes the syspath. On failure, may return NULL.

  - ### getSysname

    public String getSysname()
    Gets the sysname of this device
    Returns:
      a string that describes the sysname. On failure, may return NULL.

  - ### getDevnode

    public String getDevnode()
    Gets the devnode of this device
    Returns:
      a string that describes the devnode. On failure, may return NULL.

  - ### getDevtype

    public String getDevtype()
    Gets the devtype of this device
    Returns:
      a string that describes the devtype. On failure, may return NULL.

  - ### getSubsystem

    public String getSubsystem()
    Gets the subsystem of this device
    Returns:
      a string that describes the subsystem. On failure, may return NULL.

  - ### getSysattrValue

    public String getSysattrValue(String sysattr)
    Retrieves a device attribute from this device
    Parameters:
      `sysattr` - The attribute to retrieve.
    Returns:
      a string of the requested value. On error, NULL is returned. Attributes that may contain NUL bytes should not be retrieved with udev_device_get_sysattr_value(); instead, read them directly from the files within the device's syspath.

  - ### getPropertyValue

    public String getPropertyValue(String key)
    Retrieves a device property from this device
    Parameters:
      `key` - The property to retrieve.
    Returns:
      a string of the requested value. On error, NULL is returned.