1
0

svc_debuggerui.h 899 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #ifndef _SVC_DEBUGGERUI_H
  2. #define _SVC_DEBUGGERUI_H
  3. #include <bfc/dispatch.h>
  4. #include <api/service/services.h>
  5. class DebuggerUI;
  6. // {8B055A0D-9A57-428c-BCFC-88F75AEF2CAD}
  7. static const GUID SERVICE_DEBUGGERUI =
  8. { 0x8b055a0d, 0x9a57, 0x428c, { 0xbc, 0xfc, 0x88, 0xf7, 0x5a, 0xef, 0x2c, 0xad } };
  9. class svc_debuggerUI : public Dispatchable {
  10. public:
  11. static FOURCC getServiceType() { return WaSvc::UNIQUE; }
  12. DebuggerUI *createUI();
  13. void destroyUI(DebuggerUI *ui);
  14. protected:
  15. enum {
  16. CREATEUI=10,
  17. DESTROYUI=20,
  18. };
  19. };
  20. inline DebuggerUI *svc_debuggerUI::createUI() {
  21. return _call(CREATEUI, (DebuggerUI *)NULL);
  22. }
  23. inline void svc_debuggerUI::destroyUI(DebuggerUI *ui) {
  24. _voidcall(DESTROYUI, ui);
  25. }
  26. class svc_debuggerUII : public svc_debuggerUI {
  27. public:
  28. virtual DebuggerUI *createUI()=0;
  29. virtual void destroyUI(DebuggerUI *ui)=0;
  30. protected:
  31. RECVS_DISPATCH;
  32. };
  33. #endif