1 \section{\class{wxDDEConnection
}}\label{wxddeconnection
}
3 A wxDDEConnection object represents the connection between a client and a
4 server. It can be created by making a connection using a
\rtfsp
5 \helpref{wxDDEClient
}{wxddeclient
} object, or by the acceptance of a connection by a
\rtfsp
6 \helpref{wxDDEServer
}{wxddeserver
} object. The bulk of a DDE (Dynamic Data Exchange)
7 conversation is controlled by
8 calling members in a
{\bf wxDDEConnection
} object or by overriding its
11 An application should normally derive a new connection class from
12 wxDDEConnection, in order to override the communication event handlers
13 to do something interesting.
15 This DDE-based implementation is available on Windows only,
16 but a platform-independent, socket-based version
17 of this API is available using
\helpref{wxTCPConnection
}{wxtcpconnection
}.
19 \wxheading{Derived from
}
22 \helpref{wxObject
}{wxobject
}
26 \index{wxIPCFormat
}wxIPCFormat is defined as follows:
32 wxIPC_TEXT =
1, /* CF_TEXT */
33 wxIPC_BITMAP =
2, /* CF_BITMAP */
34 wxIPC_METAFILE =
3, /* CF_METAFILEPICT */
38 wxIPC_OEMTEXT =
7, /* CF_OEMTEXT */
39 wxIPC_DIB =
8, /* CF_DIB */
44 wxIPC_UNICODETEXT =
13,
45 wxIPC_ENHMETAFILE =
14,
46 wxIPC_FILENAME =
15, /* CF_HDROP */
54 \helpref{wxDDEClient
}{wxddeclient
},
\helpref{wxDDEServer
}{wxddeserver
},
\helpref{Interprocess communications overview
}{ipcoverview
}
56 \latexignore{\rtfignore{\wxheading{Members
}}}
58 \membersection{wxDDEConnection::wxDDEConnection
}
60 \func{}{wxDDEConnection
}{\void}
62 \func{}{wxDDEConnection
}{\param{char*
}{buffer
},
\param{int
}{ size
}}
64 Constructs a connection object. If no user-defined connection object is
65 to be derived from wxDDEConnection, then the constructor should not be
66 called directly, since the default connection object will be provided on
67 requesting (or accepting) a connection. However, if the user defines his
68 or her own derived connection object, the
\helpref{wxDDEServer::OnAcceptConnection
}{wxddeserveronacceptconnection
}\rtfsp
69 and/or
\helpref{wxDDEClient::OnMakeConnection
}{wxddeclientonmakeconnection
} members should be replaced by
70 functions which construct the new connection object. If the arguments of
71 the wxDDEConnection constructor are void, then a default buffer is
72 associated with the connection. Otherwise, the programmer must provide a
73 a buffer and size of the buffer for the connection object to use in
76 \membersection{wxDDEConnection::Advise
}
78 \func{bool
}{Advise
}{\param{const wxString\&
}{item
},
\param{char*
}{data
},
\param{int
}{ size = -
1},
\param{wxIPCFormat
}{ format = wxCF
\_TEXT}}
80 Called by the server application to advise the client of a change in
81 the data associated with the given item. Causes the client
82 connection's
\helpref{wxDDEConnection::OnAdvise
}{wxddeconnectiononadvise
}
83 member to be called. Returns TRUE if successful.
85 \membersection{wxDDEConnection::Execute
}
87 \func{bool
}{Execute
}{\param{char*
}{data
},
\param{int
}{ size = -
1},
\param{wxIPCFormat
}{ format = wxCF
\_TEXT}}
89 Called by the client application to execute a command on the server. Can
90 also be used to transfer arbitrary data to the server (similar
91 to
\helpref{wxDDEConnection::Poke
}{wxddeconnectionpoke
} in that respect). Causes the
92 server connection's
\helpref{wxDDEConnection::OnExecute
}{wxddeconnectiononexecute
} member to be
93 called. Returns TRUE if successful.
95 \membersection{wxDDEConnection::Disconnect
}
97 \func{bool
}{Disconnect
}{\void}
99 Called by the client or server application to disconnect from the other
100 program; it causes the
\helpref{wxDDEConnection::OnDisconnect
}{wxddeconnectionondisconnect
} message
101 to be sent to the corresponding connection object in the other
102 program. The default behaviour of
{\bf OnDisconnect
} is to delete the
103 connection, but the calling application must explicitly delete its
104 side of the connection having called
{\bf Disconnect
}. Returns TRUE if
107 \membersection{wxDDEConnection::OnAdvise
}\label{wxddeconnectiononadvise
}
109 \func{virtual bool
}{OnAdvise
}{\param{const wxString\&
}{topic
},
\param{const wxString\&
}{item
},
\param{char*
}{data
},
\param{int
}{ size
},
\param{wxIPCFormat
}{ format
}}
111 Message sent to the client application when the server notifies it of a
112 change in the data associated with the given item.
114 \membersection{wxDDEConnection::OnDisconnect
}\label{wxddeconnectionondisconnect
}
116 \func{virtual bool
}{OnDisconnect
}{\void}
118 Message sent to the client or server application when the other
119 application notifies it to delete the connection. Default behaviour is
120 to delete the connection object.
122 \membersection{wxDDEConnection::OnExecute
}\label{wxddeconnectiononexecute
}
124 \func{virtual bool
}{OnExecute
}{\param{const wxString\&
}{topic
},
\param{char*
}{data
},
\param{int
}{ size
},
\param{wxIPCFormat
}{ format
}}
126 Message sent to the server application when the client notifies it to
127 execute the given data. Note that there is no item associated with
130 \membersection{wxDDEConnection::OnPoke
}\label{wxddeconnectiononpoke
}
132 \func{virtual bool
}{OnPoke
}{\param{const wxString\&
}{topic
},
\param{const wxString\&
}{item
},
\param{char*
}{data
},
\param{int
}{ size
},
\param{wxIPCFormat
}{ format
}}
134 Message sent to the server application when the client notifies it to
135 accept the given data.
137 \membersection{wxDDEConnection::OnRequest
}\label{wxddeconnectiononrequest
}
139 \func{virtual char*
}{OnRequest
}{\param{const wxString\&
}{topic
},
\param{const wxString\&
}{item
},
\param{int *
}{size
},
\param{wxIPCFormat
}{ format
}}
141 Message sent to the server application when the client
142 calls
\helpref{wxDDEConnection::Request
}{wxddeconnectionrequest
}. The server
143 should respond by returning a character string from
{\bf OnRequest
},
144 or NULL to indicate no data.
146 \membersection{wxDDEConnection::OnStartAdvise
}\label{wxddeconnectiononstartadvise
}
148 \func{virtual bool
}{OnStartAdvise
}{\param{const wxString\&
}{topic
},
\param{const wxString\&
}{item
}}
150 Message sent to the server application by the client, when the client
151 wishes to start an `advise loop' for the given topic and item. The
152 server can refuse to participate by returning FALSE.
154 \membersection{wxDDEConnection::OnStopAdvise
}\label{wxddeconnectiononstopadvise
}
156 \func{virtual bool
}{OnStopAdvise
}{\param{const wxString\&
}{topic
},
\param{const wxString\&
}{item
}}
158 Message sent to the server application by the client, when the client
159 wishes to stop an `advise loop' for the given topic and item. The
160 server can refuse to stop the advise loop by returning FALSE, although
161 this doesn't have much meaning in practice.
163 \membersection{wxDDEConnection::Poke
}\label{wxddeconnectionpoke
}
165 \func{bool
}{Poke
}{\param{const wxString\&
}{item
},
\param{char*
}{data
},
\param{int
}{ size = -
1},
\param{wxIPCFormat
}{ format = wxCF
\_TEXT}}
167 Called by the client application to poke data into the server. Can be
168 used to transfer arbitrary data to the server. Causes the server
169 connection's
\helpref{wxDDEConnection::OnPoke
}{wxddeconnectiononpoke
} member
170 to be called. Returns TRUE if successful.
172 \membersection{wxDDEConnection::Request
}\label{wxddeconnectionrequest
}
174 \func{char*
}{Request
}{\param{const wxString\&
}{item
},
\param{int *
}{size
},
\param{wxIPCFormat
}{ format = wxIPC
\_TEXT}}
176 Called by the client application to request data from the server. Causes
177 the server connection's
\helpref{wxDDEConnection::OnRequest
}{wxddeconnectiononrequest
} member to be called. Returns a
178 character string (actually a pointer to the connection's buffer) if
179 successful, NULL otherwise.
181 \membersection{wxDDEConnection::StartAdvise
}\label{wxddeconnectionstartadvise
}
183 \func{bool
}{StartAdvise
}{\param{const wxString\&
}{item
}}
185 Called by the client application to ask if an advise loop can be started
186 with the server. Causes the server connection's
\helpref{wxDDEConnection::OnStartAdvise
}{wxddeconnectiononstartadvise
}\rtfsp
187 member to be called. Returns TRUE if the server okays it, FALSE
190 \membersection{wxDDEConnection::StopAdvise
}\label{wxddeconnectionstopadvise
}
192 \func{bool
}{StopAdvise
}{\param{const wxString\&
}{item
}}
194 Called by the client application to ask if an advise loop can be
195 stopped. Causes the server connection's
\helpref{wxDDEConnection::OnStopAdvise
}{wxddeconnectiononstopadvise
} member
196 to be called. Returns TRUE if the server okays it, FALSE otherwise.