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

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Udev.UdevDevice` | `deviceNewFromSyspath​(java.lang.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 Detail

    - #### UdevContext

          public UdevContext()

  - ### Method Detail

    - #### 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​(java.lang.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.