]>
git.saurik.com Git - wxWidgets.git/blob - samples/ipc/client.h
1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: DDE sample: client
4 // Author: Julian Smart
8 // Copyright: (c) Julian Smart
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
12 #define ID_START 10000
13 #define ID_DISCONNECT 10001
14 #define ID_STARTADVISE 10002
16 #define ID_SERVERNAME 10004
17 #define ID_STOPADVISE 10005
19 #define ID_REQUEST 10007
20 #define ID_EXECUTE 10008
21 #define ID_TOPIC 10009
22 #define ID_HOSTNAME 10010
24 // Define a new application
29 class MyApp
: public wxApp
32 virtual bool OnInit();
34 MyFrame
*GetFrame() { return m_frame
; };
41 class MyFrame
: public wxFrame
44 MyFrame(wxFrame
*frame
, const wxString
& title
);
46 void OnExit(wxCommandEvent
& event
);
47 void OnClose(wxCloseEvent
& event
);
48 void EnableControls();
52 wxButton
* GetStart() { return (wxButton
*) FindWindow( ID_START
); }
53 wxChoice
* GetServername() { return (wxChoice
*) FindWindow( ID_SERVERNAME
); }
54 wxChoice
* GetHostname() { return (wxChoice
*) FindWindow( ID_HOSTNAME
); }
55 wxChoice
* GetTopic() { return (wxChoice
*) FindWindow( ID_TOPIC
); }
56 wxButton
* GetDisconnect() { return (wxButton
*) FindWindow( ID_DISCONNECT
); }
57 wxButton
* GetStartAdvise() { return (wxButton
*) FindWindow( ID_STARTADVISE
); }
58 wxButton
* GetStopAdvise() { return (wxButton
*) FindWindow( ID_STOPADVISE
); }
59 wxButton
* GetRequest() { return (wxButton
*) FindWindow( ID_REQUEST
); }
60 wxButton
* GetPoke() { return (wxButton
*) FindWindow( ID_POKE
); }
61 wxButton
* GetExecute() { return (wxButton
*) FindWindow( ID_EXECUTE
); }
62 wxTextCtrl
* GetLog() { return (wxTextCtrl
*) FindWindow( ID_LOG
); }
66 void OnStart( wxCommandEvent
&event
);
67 void OnServername( wxCommandEvent
&event
);
68 void OnHostname( wxCommandEvent
&event
);
69 void OnTopic( wxCommandEvent
&event
);
70 void OnDisconnect( wxCommandEvent
&event
);
71 void OnStartAdvise( wxCommandEvent
&event
);
72 void OnStopAdvise( wxCommandEvent
&event
);
73 void OnExecute(wxCommandEvent
& event
);
74 void OnPoke(wxCommandEvent
& event
);
75 void OnRequest(wxCommandEvent
& event
);
81 class MyConnection
: public wxConnection
84 virtual bool DoExecute(const void *data
, size_t size
, wxIPCFormat format
);
85 virtual const void *Request(const wxString
& item
, size_t *size
= NULL
, wxIPCFormat format
= wxIPC_TEXT
);
86 virtual bool DoPoke(const wxString
& item
, const void* data
, size_t size
, wxIPCFormat format
);
87 virtual bool OnAdvise(const wxString
& topic
, const wxString
& item
, const void *data
, size_t size
, wxIPCFormat format
);
88 virtual bool OnDisconnect();
90 void Log(const wxString
& command
, const wxString
& topic
,
91 const wxString
& item
, const void *data
, size_t size
, wxIPCFormat format
);
94 class MyClient
: public wxClient
99 bool Connect(const wxString
& sHost
, const wxString
& sService
, const wxString
& sTopic
);
101 wxConnectionBase
*OnMakeConnection();
102 bool IsConnected() { return m_connection
!= NULL
; };
103 MyConnection
*GetConnection() { return m_connection
; };
106 MyConnection
*m_connection
;