/* ------------------------------------------- Copyright SoftwareLabs ------------------------------------------- */ #pragma once #include #include #include namespace NewOS { class AHCIDeviceInterface : public DeviceInterface { public: explicit AHCIDeviceInterface(void (*Out)(MountpointInterface* outpacket), void (*In)(MountpointInterface* inpacket), void (*Cleanup)(void)); virtual ~AHCIDeviceInterface(); public: AHCIDeviceInterface& operator=(const AHCIDeviceInterface&) = default; AHCIDeviceInterface(const AHCIDeviceInterface&) = default; const char* Name() const override; private: void (*fCleanup)(void); }; } // namespace NewOS