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

Package com.sun.jna.platform.linux

# Class Udev.UdevContext

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

All Implemented Interfaces:
  `NativeMapped`

Enclosing interface:
  Udev

public static class Udev.UdevContext extends PointerType
All functions require a libudev context to operate. This context can be created via `Udev.udev_new()`. It is used to track library state and link objects together. No global state is used by libudev, everything is always linked to a udev context. Furthermore, multiple different udev contexts can be used in parallel by multiple threads. However, a single context must not be accessed by multiple threads in parallel. The caller is responsible for providing suitable locking if they intend to use it from multiple threads.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `UdevContext()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Udev.UdevDevice`
  `deviceNewFromSyspath(String syspath)`
  Creates a udev device object based on information found in `/sys`, annotated with properties from the udev-internal device database.
  `Udev.UdevEnumerate`
  `enumerateNew()`
  Create a udev enumerate object.
  `Udev.UdevContext`
  `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

  - ### UdevContext

    public UdevContext()

- ## Method Details

  - ### ref

    public Udev.UdevContext 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.

  - ### enumerateNew

    public Udev.UdevEnumerate enumerateNew()
    Create a udev enumerate object. Initially, the reference count of the enumerate object is 1.
    Returns:
      On success, returns the allocated enumerator. On failure, NULL is returned.

  - ### deviceNewFromSyspath

    public Udev.UdevDevice deviceNewFromSyspath(String syspath)
    Creates a udev device object based on information found in `/sys`, annotated with properties from the udev-internal device database. Initially, the reference count of the device is 1.
    Parameters:
      `syspath` - The path of the device in `/sys`.
    Returns:
      the allocated udev device. On failure, NULL is returned, and `errno` is set appropriately.