#ifndef org_pqrs_Karabiner_DriverKit_VirtualHIDDeviceRoot_h
#define org_pqrs_Karabiner_DriverKit_VirtualHIDDeviceRoot_h

#include <Availability.h>
#include <DriverKit/IOService.iig>

class org_pqrs_Karabiner_DriverKit_VirtualHIDDeviceRoot: public IOService
{
public:
    virtual bool init() override;
    virtual void free() override;

    virtual kern_return_t Start(IOService *provider) override;
    virtual kern_return_t Stop(IOService *provider) override;

    virtual kern_return_t NewUserClient(uint32_t type,
                                        IOUserClient** userClient) override;
};

#endif
