#pragma once //class DevTree; //class SCFPacket; //class DriverDPC; namespace DIOS::Dev::Detail::MachineryECOM { class ICommunicateEntity; class IPacketDispatcher; class IDPCHandler { public: IDPCHandler(){} virtual ~IDPCHandler(){} public: virtual void OnDriverEntry(MachineryECOMDriver* dpc, ICommunicateEntity *&outcommunicate, IPacketDispatcher *&outdispatcher, bool &outstatus) = 0; virtual void OnSetDriverWorkPath(const char *workPath) = 0; virtual void OnConnected(ICommunicateEntity *communicate) = 0; virtual void OnLoadLogicDevices(MachineryECOMDriver* dpc) = 0; virtual void OnNitifyReadyStatus(MachineryECOMDriver* dpc) = 0; }; }