template class axl::sys::lnx::UdevDeviceBase

#include <axl_sys_lnx_UdevDevice.h>

template <typename T>
class UdevDeviceBase: public axl::sl::Handle
{
public:
    // construction

    UdevDeviceBase();
    UdevDeviceBase(udev_device* h);

    // methods

    void
    addRef();

    udev*
    getUdev();

    sl::StringRef
    getSysPath();

    sl::StringRef
    getSysName();

    sl::StringRef
    getSysNum();

    sl::StringRef
    getDevPath();

    sl::StringRef
    getDevNode();

    dev_t
    getDevNum();

    sl::StringRef
    getDevType();

    sl::StringRef
    getSubsystem();

    sl::StringRef
    getDriver();

    udev_device*
    getParent();

    udev_device*
    getParentWithSubsystemDevType(
        const sl::StringRef& subSystem,
        const sl::StringRef& devType
        );

    bool
    isInitialized();

    sl::StringRef
    getAction();

    udev_list_entry*
    getDevLinkList();

    udev_list_entry*
    getPropertyList();

    udev_list_entry*
    getTagList();

    udev_list_entry*
    getSysAttrList();

    sl::StringRef
    getPropertyValue(const sl::StringRef& key);

    bool
    hasTag(const sl::StringRef& tag);
};

Inherited Members

public:
    // typedefs

    typedef T H;

    // methods

    operator T() const;

    T
    operator->() const;

    const Handle&
    operator=(T h);

    bool
    isOpen() const;

    void
    close();

    void
    attach(T h);

    T
    detach();

    T*
    p();

    static
    T
    getInvalidHandle();