X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/886dd7d28e50c003cc88b81b968d487a3c17b0d7..aa8cbe0b64fb84cadf0fbf7da1690a922085ca5f:/include/wx/msw/dde.h diff --git a/include/wx/msw/dde.h b/include/wx/msw/dde.h index 7193ee45e6..9cc5cca987 100644 --- a/include/wx/msw/dde.h +++ b/include/wx/msw/dde.h @@ -12,10 +12,6 @@ #ifndef _WX_DDE_H_ #define _WX_DDE_H_ -#ifdef __GNUG__ -#pragma interface "dde.h" -#endif - #include "wx/ipcbase.h" /* @@ -42,106 +38,101 @@ * */ -class WXDLLEXPORT_BASE wxDDEServer; -class WXDLLEXPORT_BASE wxDDEClient; +class WXDLLIMPEXP_FWD_BASE wxDDEServer; +class WXDLLIMPEXP_FWD_BASE wxDDEClient; -class WXDLLEXPORT_BASE wxDDEConnection: public wxConnectionBase +class WXDLLIMPEXP_BASE wxDDEConnection : public wxConnectionBase { - DECLARE_DYNAMIC_CLASS(wxDDEConnection) public: - wxDDEConnection(wxChar *buffer, int size); // use external buffer + wxDDEConnection(void *buffer, size_t size); // use external buffer wxDDEConnection(); // use internal buffer - ~wxDDEConnection(void); + virtual ~wxDDEConnection(); - // Calls that CLIENT can make - virtual bool Execute(const wxChar *data, int size = -1, wxIPCFormat format = wxIPC_TEXT); - virtual wxChar *Request(const wxString& item, int *size = NULL, wxIPCFormat format = wxIPC_TEXT); - virtual bool Poke(const wxString& item, wxChar *data, int size = -1, wxIPCFormat format = wxIPC_TEXT); + // implement base class pure virtual methods + virtual const void *Request(const wxString& item, + size_t *size = NULL, + wxIPCFormat format = wxIPC_TEXT); virtual bool StartAdvise(const wxString& item); virtual bool StopAdvise(const wxString& item); + virtual bool Disconnect(); - // Calls that SERVER can make - virtual bool Advise(const wxString& item, wxChar *data, int size = -1, wxIPCFormat format = wxIPC_TEXT); - - // Calls that both can make - virtual bool Disconnect(void); - - // Default behaviour is to delete connection and return TRUE - virtual bool OnDisconnect(void); +protected: + virtual bool DoExecute(const void *data, size_t size, wxIPCFormat format); + virtual bool DoPoke(const wxString& item, const void *data, size_t size, + wxIPCFormat format); + virtual bool DoAdvise(const wxString& item, const void *data, size_t size, + wxIPCFormat format); - public: +public: wxString m_topicName; wxDDEServer* m_server; wxDDEClient* m_client; WXHCONV m_hConv; - wxChar* m_sendingData; + const void* m_sendingData; int m_dataSize; - wxIPCFormat m_dataType; + wxIPCFormat m_dataType; - DECLARE_NO_COPY_CLASS(wxDDEConnection) + DECLARE_NO_COPY_CLASS(wxDDEConnection) + DECLARE_DYNAMIC_CLASS(wxDDEConnection) }; -class WXDLLEXPORT_BASE wxDDEServer: public wxServerBase +class WXDLLIMPEXP_BASE wxDDEServer : public wxServerBase { - DECLARE_DYNAMIC_CLASS(wxDDEServer) - public: - - wxDDEServer(void); - ~wxDDEServer(void); - bool Create(const wxString& server_name); // Returns FALSE if can't create server (e.g. port - // number is already in use) - virtual wxConnectionBase *OnAcceptConnection(const wxString& topic); - - //////////////////////////////////////////////////////////// - // Implementation - - // Find/delete wxDDEConnection corresponding to the HCONV - wxDDEConnection *FindConnection(WXHCONV conv); - bool DeleteConnection(WXHCONV conv); - inline wxString& GetServiceName(void) const { return (wxString&) m_serviceName; } - inline wxDDEConnectionList& GetConnections(void) const - { - return (wxDDEConnectionList&) m_connections; - } +public: + wxDDEServer(); + bool Create(const wxString& server_name); + virtual ~wxDDEServer(); + + virtual wxConnectionBase *OnAcceptConnection(const wxString& topic); + + // Find/delete wxDDEConnection corresponding to the HCONV + wxDDEConnection *FindConnection(WXHCONV conv); + bool DeleteConnection(WXHCONV conv); + wxString& GetServiceName() const { return (wxString&) m_serviceName; } + + wxDDEConnectionList& GetConnections() const + { return (wxDDEConnectionList&) m_connections; } protected: int m_lastError; wxString m_serviceName; wxDDEConnectionList m_connections; + + DECLARE_DYNAMIC_CLASS(wxDDEServer) }; -class WXDLLEXPORT_BASE wxDDEClient: public wxClientBase +class WXDLLIMPEXP_BASE wxDDEClient: public wxClientBase { - DECLARE_DYNAMIC_CLASS(wxDDEClient) - public: - wxDDEClient(void); - ~wxDDEClient(void); - bool ValidHost(const wxString& host); - virtual wxConnectionBase *MakeConnection(const wxString& host, const wxString& server, const wxString& topic); - // Call this to make a connection. - // Returns NULL if cannot. - virtual wxConnectionBase *OnMakeConnection(void); // Tailor this to return own connection. - - //////////////////////////////////////////////////////////// - // Implementation - - // Find/delete wxDDEConnection corresponding to the HCONV - wxDDEConnection *FindConnection(WXHCONV conv); - bool DeleteConnection(WXHCONV conv); - - inline wxDDEConnectionList& GetConnections(void) const - { - return (wxDDEConnectionList&) m_connections; - } +public: + wxDDEClient(); + virtual ~wxDDEClient(); + + bool ValidHost(const wxString& host); + + // Call this to make a connection. Returns NULL if cannot. + virtual wxConnectionBase *MakeConnection(const wxString& host, + const wxString& server, + const wxString& topic); + + // Tailor this to return own connection. + virtual wxConnectionBase *OnMakeConnection(); + + // Find/delete wxDDEConnection corresponding to the HCONV + wxDDEConnection *FindConnection(WXHCONV conv); + bool DeleteConnection(WXHCONV conv); + + wxDDEConnectionList& GetConnections() const + { return (wxDDEConnectionList&) m_connections; } protected: int m_lastError; wxDDEConnectionList m_connections; + + DECLARE_DYNAMIC_CLASS(wxDDEClient) }; -void WXDLLEXPORT_BASE wxDDEInitialize(); -void WXDLLEXPORT_BASE wxDDECleanUp(); +void WXDLLIMPEXP_BASE wxDDEInitialize(); +void WXDLLIMPEXP_BASE wxDDECleanUp(); -#endif - // _WX_DDE_H_ +#endif // _WX_DDE_H_