My .iig file looks like this, I need to use different class IOUserHIDEventService and IOUserClient.
How to modify the class of .llg? Use two different class functions in
public:
DriverKit.iig
#ifndef DriverKit_h
#define DriverKit_h
#include <Availability.h>
#include <DriverKit/IOService.iig>
#include <HIDDriverKit/IOUserHIDEventService.iig>
class IOHIDElement;
class IOHIDDigitizerCollection;
class DriverKit: public IOUserHIDEventService
{
public:
virtual bool init() override;
virtual void free() override;
virtual kern_return_t Start(IOService * provider) override;
.......
.......
#endif /* DriverKit_h */
DriverKit doesn't support multiple inheritance. In order to implement a userclient, you should make a second class. The class that subclasses IOUserHIDEventService will implement NewUserClient. This function will create a new userclient class instance and store it. Then the second class will handle communication.