aboutsummaryrefslogtreecommitdiff
path: root/Src/Wasabi/api/service/svcs/svc_debuggerui.h
blob: 5e96a15f52c2ae445e27e3a02a9c3eff9a328f20 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#ifndef _SVC_DEBUGGERUI_H
#define _SVC_DEBUGGERUI_H

#include <bfc/dispatch.h>
#include <api/service/services.h>

class DebuggerUI;

// {8B055A0D-9A57-428c-BCFC-88F75AEF2CAD}
static const GUID SERVICE_DEBUGGERUI = 
{ 0x8b055a0d, 0x9a57, 0x428c, { 0xbc, 0xfc, 0x88, 0xf7, 0x5a, 0xef, 0x2c, 0xad } };

class svc_debuggerUI : public Dispatchable {
public:
  static FOURCC getServiceType() { return WaSvc::UNIQUE; }

  DebuggerUI *createUI();
  void destroyUI(DebuggerUI *ui);

protected:
  enum {
    CREATEUI=10,
    DESTROYUI=20,
  };
};

inline DebuggerUI *svc_debuggerUI::createUI() {
  return _call(CREATEUI, (DebuggerUI *)NULL);
}

inline void svc_debuggerUI::destroyUI(DebuggerUI *ui) {
  _voidcall(DESTROYUI, ui);
}

class svc_debuggerUII : public svc_debuggerUI {
public:
  virtual DebuggerUI *createUI()=0;
  virtual void destroyUI(DebuggerUI *ui)=0;

protected:
  RECVS_DISPATCH;
};

#endif