1
0

component.h 774 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. #ifndef _NULLSOFT_WINAMP_DEVICES_COMPONENT_HEADER
  2. #define _NULLSOFT_WINAMP_DEVICES_COMPONENT_HEADER
  3. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  4. #pragma once
  5. #endif
  6. #include <wtypes.h>
  7. #include "../Agave/Component/ifc_wa5component.h"
  8. class DevicesComponent : public ifc_wa5component
  9. {
  10. public:
  11. DevicesComponent();
  12. ~DevicesComponent();
  13. public:
  14. /* Dispatchable */
  15. size_t AddRef();
  16. size_t Release();
  17. int QueryInterface(GUID interface_guid, void **object);
  18. /* ifc_wa5component */
  19. void RegisterServices(api_service *service);
  20. int RegisterServicesSafeModeOk();
  21. void DeregisterServices(api_service *service);
  22. protected:
  23. void ReleaseServices(void);
  24. protected:
  25. RECVS_DISPATCH;
  26. private:
  27. CRITICAL_SECTION lock;
  28. };
  29. #endif //_NULLSOFT_WINAMP_DEVICES_COMPONENT_HEADER