]>
Commit | Line | Data |
---|---|---|
7921cf2b JS |
1 | ///////////////////////////////////////////////////////////////////////////// |
2 | // Name: server.h | |
3 | // Purpose: DDE sample: server | |
4 | // Author: Julian Smart | |
5 | // Modified by: | |
6 | // Created: 25/01/99 | |
7 | // RCS-ID: $Id$ | |
8 | // Copyright: (c) Julian Smart | |
9 | // Licence: wxWindows licence | |
10 | ///////////////////////////////////////////////////////////////////////////// | |
11 | ||
12 | // Define a new application | |
4b89c618 VZ |
13 | class MyServer; |
14 | class MyApp : public wxApp | |
7921cf2b | 15 | { |
4b89c618 VZ |
16 | public: |
17 | virtual bool OnInit(); | |
18 | virtual int OnExit(); | |
19 | ||
20 | private: | |
21 | MyServer *m_server; | |
7921cf2b JS |
22 | }; |
23 | ||
24 | DECLARE_APP(MyApp) | |
25 | ||
26 | // Define a new frame | |
4b89c618 | 27 | class MyFrame : public wxFrame |
7921cf2b | 28 | { |
4b89c618 VZ |
29 | public: |
30 | MyFrame(wxFrame *frame, const wxString& title); | |
7921cf2b | 31 | |
7921cf2b | 32 | void OnListBoxClick(wxCommandEvent& event); |
f6bcfd97 | 33 | void OnExit(wxCommandEvent& event); |
4b89c618 VZ |
34 | |
35 | private: | |
36 | wxPanel *panel; | |
37 | ||
38 | DECLARE_EVENT_TABLE() | |
7921cf2b JS |
39 | }; |
40 | ||
41 | class IPCDialogBox; | |
4b89c618 | 42 | class MyConnection : public wxConnection |
7921cf2b | 43 | { |
4b89c618 VZ |
44 | public: |
45 | MyConnection(char *buf, int size); | |
46 | ~MyConnection(); | |
7921cf2b | 47 | |
4b89c618 VZ |
48 | bool OnExecute(const wxString& topic, char *data, int size, wxIPCFormat format); |
49 | char *OnRequest(const wxString& topic, const wxString& item, int *size, wxIPCFormat format); | |
50 | bool OnPoke(const wxString& topic, const wxString& item, char *data, int size, wxIPCFormat format); | |
51 | bool OnStartAdvise(const wxString& topic, const wxString& item); | |
7921cf2b | 52 | |
4b89c618 VZ |
53 | private: |
54 | IPCDialogBox *dialog; | |
7921cf2b JS |
55 | }; |
56 | ||
57 | class MyServer: public wxServer | |
58 | { | |
59 | public: | |
60 | wxConnectionBase *OnAcceptConnection(const wxString& topic); | |
61 | }; | |
62 | ||
63 | class IPCDialogBox: public wxDialog | |
64 | { | |
65 | public: | |
4b89c618 VZ |
66 | IPCDialogBox(wxWindow *parent, |
67 | const wxString& title, | |
68 | const wxPoint& pos, | |
69 | const wxSize& size, | |
70 | MyConnection *the_connection); | |
7921cf2b JS |
71 | |
72 | void OnQuit(wxCommandEvent& event); | |
73 | ||
4b89c618 VZ |
74 | private: |
75 | MyConnection *m_connection; | |
76 | ||
77 | DECLARE_EVENT_TABLE() | |
7921cf2b JS |
78 | }; |
79 | ||
f6bcfd97 | 80 | #define SERVER_EXIT wxID_EXIT |
7921cf2b JS |
81 | #define SERVER_LISTBOX 500 |
82 | #define SERVER_QUIT_BUTTON 501 |