From e79848acfe012f03286bc8bc4de1a7694ee6c516 Mon Sep 17 00:00:00 2001
From: Guilhem Lavaux <lavaux@easynet.fr>
Date: Sun, 20 Sep 1998 15:45:12 +0000
Subject: [PATCH] * Fixed a bug in notebook.tex * Added a basic documentation
 on wxSocket (currently wxSocketBase, wxSocketClient, wxSocketServer,
 wxSocketHandler, wxURL)   There are still things to write and I hope I didn't
 have a too bad english ...

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@760 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
---
 docs/latex/wx/classes.tex  |   2 +
 docs/latex/wx/notebook.tex |   4 +-
 docs/latex/wx/socket.tex   | 682 +++++++++++++++++++++++++++++++++++++
 docs/latex/wx/url.tex      | 110 ++++++
 4 files changed, 796 insertions(+), 2 deletions(-)
 create mode 100644 docs/latex/wx/socket.tex
 create mode 100644 docs/latex/wx/url.tex

diff --git a/docs/latex/wx/classes.tex b/docs/latex/wx/classes.tex
index f2d5800370..b6952af9c2 100644
--- a/docs/latex/wx/classes.tex
+++ b/docs/latex/wx/classes.tex
@@ -147,6 +147,7 @@ $$\image{14cm;0cm}{wxclass.ps}$$
 \input size.tex
 \input sizeevt.tex
 \input slider.tex
+\input socket.tex
 \input spinbutt.tex
 \input splitter.tex
 \input statbmp.tex
@@ -172,6 +173,7 @@ $$\image{14cm;0cm}{wxclass.ps}$$
 \input treeevt.tex
 \input upditer.tex
 \input upduievt.tex
+\input url.tex
 \input validatr.tex
 \input view.tex
 \input wave.tex
diff --git a/docs/latex/wx/notebook.tex b/docs/latex/wx/notebook.tex
index d8d9f8ab24..1817f10652 100644
--- a/docs/latex/wx/notebook.tex
+++ b/docs/latex/wx/notebook.tex
@@ -22,9 +22,9 @@ functions that take a \helpref{wxNotebookEvent}{wxnotebookevent} argument.
 
 \twocolwidtha{7cm}
 \begin{twocollist}\itemsep=0pt
-\twocolitem{{\bf EVT\_NOTEBOOK_PAGE_CHANGED(id, func)}}{The page selection was changed. Processes a
+\twocolitem{{\bf EVT\_NOTEBOOK\_PAGE\_CHANGED(id, func)}}{The page selection was changed. Processes a
 wxEVT\_COMMAND\_NOTEBOOK\_PAGE\_CHANGED event.}
-\twocolitem{{\bf EVT\_NOTEBOOK_PAGE_CHANGING(id, func)}}{The page selection is about to be changed.
+\twocolitem{{\bf EVT\_NOTEBOOK\_PAGE\_CHANGING(id, func)}}{The page selection is about to be changed.
 Processes a wxEVT\_COMMAND\_NOTEBOOK\_PAGE\_CHANGING event.}
 \end{twocollist}%
 
diff --git a/docs/latex/wx/socket.tex b/docs/latex/wx/socket.tex
new file mode 100644
index 0000000000..b2800c1fbe
--- /dev/null
+++ b/docs/latex/wx/socket.tex
@@ -0,0 +1,682 @@
+\section{\class{wxSocketBase}}\label{wxsocketbase}
+
+\wxheading{Derived from}
+
+\helpref{wxEvtHandler}{wxevthandler}
+
+% ---------------------------------------------------------------------------
+% Event handling
+% ---------------------------------------------------------------------------
+\wxheading{Event handling}
+
+To process events from a socket, use the following event handler macro to direct
+ input to member
+functions that take a \helpref{wxSocketEvent}{wxsocketevent} argument.
+
+\twocolwidtha{7cm}
+\begin{twocollist}\itemsep=0pt
+\twocolitem{{\bf EVT\_SOCKET(id, func)}}{A socket event occured.}
+\end{twocollist}%
+
+% ---------------------------------------------------------------------------
+% See also ...
+% ---------------------------------------------------------------------------
+
+\wxheading{See also}
+
+\helpref{wxSocketEvent}{wxsocketevent}
+\helpref{wxSocketClient}{wxsocketclient}
+\helpref{wxSocketServer}{wxsocketserver}
+
+% ---------------------------------------------------------------------------
+% Members
+% ---------------------------------------------------------------------------
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+\membersection{wxSocketBase::wxSocketBase}
+\func{}{wxSocketBase}{\void}
+
+Default constructor but don't use it, you must use \helpref{wxSocketClient}{wxsocketclient}
+or \helpref{wxSocketServer}{wxsocketserver}.
+
+\membersection{wxSocketBase::\destruct{wxSocketBase}}
+
+\func{}{\destruct{wxSocketBase}}{\void}
+
+Destroys the wxSocketBase object.
+
+% ---------------------------------------------------------------------------
+% State functions
+% ---------------------------------------------------------------------------
+
+\membersection{wxSocketBase::Ok}\label{wxsocketbaseok}
+
+\constfunc{bool}{Ok}{\void}
+
+Returns TRUE if the socket is initialized and ready and FALSE in other
+cases.
+
+\membersection{wxSocketBase::Error}\label{wxsocketbaseerror}
+
+\constfunc{bool}{Error}{\void}
+
+Returns TRUE if an error occured.
+
+\membersection{wxSocketBase::IsConnected}\label{wxsocketbaseconnected}
+
+\constfunc{bool}{IsConnected}{\void}
+
+Returns TRUE if the socket is connected.
+
+\membersection{wxSocketBase::IsData}\label{wxsocketbaseerror}
+
+\constfunc{bool}{IsData}{\void}
+
+Returns TRUE if some data is arrived on the socket. 
+
+\membersection{wxSocketBase::IsDisconnected}\label{wxsocketbasedisconnected}
+
+\constfunc{bool}{IsDisconnected}{\void}
+
+Returns TRUE if the socket is disconnected.
+
+\membersection{wxSocketBase::IsNoWait}\label{wxsocketbasenowait}
+
+\constfunc{bool}{IsNoWait}{\void}
+
+Returns TRUE if the socket mustn't wait.
+
+\membersection{wxSocketBase::LastCount}\label{wxsocketbaselastcount}
+
+\constfunc{size\_t}{LastCount}{\void}
+
+Returns the number of bytes read or written by the last IO call.
+
+\membersection{wxSocketBase::LastError}\label{wxsocketbaselasterror}
+
+\constfunc{int}{LastError}{\void}
+
+Returns an error in the errno format (see your C programmer's guide).
+
+% ---------------------------------------------------------------------------
+% IO calls
+% ---------------------------------------------------------------------------
+
+%
+% Peek
+%
+
+\membersection{wxSocketBase::Peek}\label{wxsocketbasepeek}
+
+\func{wxSocketBase\&}{Peek}{\param{char *}{ buffer}, \param{size\_t}{ nbytes}}
+
+This function peeks a buffer of {\it nbytes} bytes from the socket. Peeking a buffer
+doesn't delete it from the system socket in-queue.
+
+\wxheading{Parameters}
+
+\docparam{buffer}{Buffer where to put peeked data.}
+\docparam{nbytes}{Number of bytes.}
+
+\wxheading{Returns value}
+Returns a reference to the current object.
+
+\wxheading{See also}
+
+\helpref{wxSocketBase::Error}{wxsocketbaserror},
+\helpref{wxSocketBase::LastCount}{wxsocketbaselastcount},
+\helpref{wxSocketBase::LastError}{wxsocketbaselasterror}
+
+%
+% Read
+%
+
+\membersection{wxSocketBase::Read}\label{wxsocketbaseread}
+
+\func{wxSocketBase\&}{Read}{\param{char *}{ buffer}, \param{size\_t}{ nbytes}}
+
+This function reads a buffer of {\it nbytes} bytes from the socket.
+
+\wxheading{Parameters}
+
+\docparam{buffer}{Buffer where to put read data.}
+\docparam{nbytes}{Number of bytes.}
+
+\wxheading{Returns value}
+Returns a reference to the current object.
+
+\wxheading{See also}
+
+\helpref{wxSocketBase::Error}{wxsocketbaserror},
+\helpref{wxSocketBase::LastCount}{wxsocketbaselastcount},
+\helpref{wxSocketBase::LastError}{wxsocketbaselasterror}
+ 
+%
+% Read
+%
+
+\membersection{wxSocketBase::Write}\label{wxsocketbasewrite}
+
+\func{wxSocketBase\&}{Write}{\param{const char *}{ buffer}, \param{size\_t}{ nbytes}}
+
+This function writes a buffer of {\it nbytes} bytes from the socket.
+
+\wxheading{Parameters}
+
+\docparam{buffer}{Buffer where to get the data to write.}
+\docparam{nbytes}{Number of bytes.}
+
+\wxheading{Returns value}
+Returns a reference to the current object.
+
+\wxheading{See also}
+
+\helpref{wxSocketBase::Error}{wxsocketbaserror},
+\helpref{wxSocketBase::LastCount}{wxsocketbaselastcount},
+\helpref{wxSocketBase::LastError}{wxsocketbaselasterror}
+
+%
+% WriteMsg
+%
+
+\membersection{wxSocketBase::WriteMsg}\label{wxsocketbasewritemsg}
+
+\func{wxSocketBase\&}{WriteMsg}{\param{const char *}{ buffer}, \param{size\_t}{ nbytes}}
+
+This function writes a buffer of {\it nbytes} bytes from the socket. But it
+writes a short header before so that ReadMsg can alloc the right size for
+the buffer. So a buffer sent with WriteMsg {\bf must} be read with ReadMsg.
+
+\wxheading{Parameters}
+
+\docparam{buffer}{Buffer where to put data peeked.}
+\docparam{nbytes}{Number of bytes.}
+
+\wxheading{Returns value}
+Returns a reference to the current object.
+
+\wxheading{See also}
+
+\helpref{wxSocketBase::Error}{wxsocketbaserror},
+\helpref{wxSocketBase::LastCount}{wxsocketbaselastcount},
+\helpref{wxSocketBase::LastError}{wxsocketbaselasterror},
+\helpref{wxSocketBase::ReadMsg}{wxsocketbasereadmsg}
+
+%
+% ReadMsg
+%
+
+\membersection{wxSocketBase::ReadMsg}\label{wxsocketbasereadmsg}
+
+\func{wxSocketBase\&}{ReadMsg}{\param{char *}{ buffer}, \param{size\_t}{ nbytes}}
+
+This function reads a buffer sent by WriteMsg on a socket. If the buffer passed
+to the function isn't big enough, the function filled it and then discard the
+bytes left. This function always wait for the buffer to be entirely filled.
+
+\wxheading{Parameters}
+
+\docparam{buffer}{Buffer where to put read data.}
+\docparam{nbytes}{Number of bytes allocated for the buffer.}
+
+\wxheading{Returns value}
+Returns a reference to the current object.
+
+\wxheading{See also}
+
+\helpref{wxSocketBase::Error}{wxsocketbaserror},
+\helpref{wxSocketBase::LastCount}{wxsocketbaselastcount},
+\helpref{wxSocketBase::LastError}{wxsocketbaselasterror},
+\helpref{wxSocketBase::WriteMsg}{wxsocketbasewritemsg}
+
+%
+% Unread
+%
+
+\membersection{wxSocketBase::UnRead}\label{wxsocketbaseunread}
+
+\func{wxSocketBase\&}{UnRead}{\param{const char *}{ buffer}, \param{size\_t}{ nbytes}}
+
+This function unreads a buffer. It means that the buffer is put in the top
+of the incoming queue. But, it is put also at the end of all unread buffers.
+It is useful for sockets because we can't seek it.
+
+\wxheading{Parameters}
+
+\docparam{buffer}{Buffer to be unread.}
+\docparam{nbytes}{Number of bytes.}
+
+\wxheading{Returns value}
+Returns a reference to the current object.
+
+\wxheading{See also}
+
+\helpref{wxSocketBase::Error}{wxsocketbaserror},
+\helpref{wxSocketBase::LastCount}{wxsocketbaselastcount},
+\helpref{wxSocketBase::LastError}{wxsocketbaselasterror}
+
+%
+% Discard
+%
+
+\membersection{wxSocketBase::Discard}\label{wxsocketbasediscard}
+
+\func{wxSocketBase\&}{Discard}{\void}
+
+This function simply deletes all bytes in the incoming queue. This function
+doesn't wait.
+
+% ---------------------------------------------------------------------------
+% Wait functions
+% ---------------------------------------------------------------------------
+\membersection{wxSocketBase::Wait}\label{wxsocketbasewait}
+\func{bool}{Wait}{\param{long}{ seconds = -1}, \param{long}{ microsecond = 0}}
+
+This function waits for an event: it could be an incoming byte, the possibility
+for the client to write, a lost connection, an incoming connection, an
+established connection.
+
+\wxheading{Parameters}
+
+\docparam{seconds}{Number of seconds to wait. By default, it waits infinitely.}
+\docparam{microsecond}{Number of microseconds to wait.}
+
+\wxheading{Return value:}
+
+Returns TRUE if an event occured, FALSE if the timeout was reached.
+
+\wxheading{See also}
+
+\helpref{wxSocketBase::WaitForRead}{wxsocketbasewaitforread},
+\helpref{wxSocketBase::WaitForWrite}{wxsocketbasewaitforwrite},
+\helpref{wxSocketBase::WaitForLost}{wxsocketbasewaitforlost}
+
+%
+% WaitForRead
+%
+
+\membersection{wxSocketBase::WaitForRead}\label{wxsocketbasewaitforread}
+\func{bool}{WaitForRead}{\param{long}{ seconds = -1}, \param{long}{ microsecond = 0}}
+
+This function waits for a read event.
+
+\wxheading{Parameters}
+
+\docparam{seconds}{Number of seconds to wait. By default, it waits infinitely.}
+\docparam{microsecond}{Number of microseconds to wait.}
+
+\wxheading{Return value:}
+
+Returns TRUE if a byte arrived, FALSE if the timeout was reached.
+
+\wxheading{See also}
+
+\helpref{wxSocketBase::Wait}{wxsocketbasewait},
+\helpref{wxSocketBase::WaitForWrite}{wxsocketbasewaitforwrite},
+\helpref{wxSocketBase::WaitForLost}{wxsocketbasewaitforlost}
+
+%
+% WaitForWrite
+%
+
+\membersection{wxSocketBase::WaitForWrite}\label{wxsocketbasewaitforwrite}
+\func{bool}{WaitForWrite}{\param{long}{ seconds = -1}, \param{long}{ microsecond = 0}}
+
+This function waits for a write event.
+
+\wxheading{Parameters}
+
+\docparam{seconds}{Number of seconds to wait. By default, it waits infinitely.}
+\docparam{microsecond}{Number of microseconds to wait.}
+
+\wxheading{Return value:}
+
+Returns TRUE if a write event occured, FALSE if the timeout was reached.
+
+\wxheading{See also}
+
+\helpref{wxSocketBase::Wait}{wxsocketbasewait},
+\helpref{wxSocketBase::WaitForRead}{wxsocketbasewaitforread},
+\helpref{wxSocketBase::WaitForLost}{wxsocketbasewaitforlost}
+
+%
+% WaitForLost
+%
+
+\membersection{wxSocketBase::WaitForLost}\label{wxsocketbasewaitforlost}
+\func{bool}{Wait}{\param{long}{ seconds = -1}, \param{long}{ microsecond = 0}}
+
+This function waits for a "lost" event. For instance, the peer may have closed
+the connection, or the connection may have been broken.
+
+\wxheading{Parameters}
+
+\docparam{seconds}{Number of seconds to wait. By default, it waits infinitely.}
+\docparam{microsecond}{Number of microseconds to wait.}
+
+\wxheading{Return value:}
+
+Returns TRUE if a "lost" event occured, FALSE if the timeout was reached.
+
+\wxheading{See also}
+
+\helpref{wxSocketBase::WaitForRead}{wxsocketbasewaitforread},
+\helpref{wxSocketBase::WaitForWrite}{wxsocketbasewaitforwrite},
+\helpref{wxSocketBase::WaitForLost}{wxsocketbasewaitforlost}
+
+% ---------------------------------------------------------------------------
+% Socket state
+% ---------------------------------------------------------------------------
+
+%
+% SaveState
+%
+\membersection{wxSocketBase::SaveState}\label{wxsocketbasesavestate}
+\func{void}{SaveState}{\void}
+
+This function saves the current state of the socket object in a stack:
+actually it saves all flags and the state of the asynchronous callbacks. 
+
+\wxheading{See also}
+
+\helpref{wxSocketBase::RestoreState}{wxsocketbaserestorestate}
+
+%
+% RestoreState
+%
+
+\membersection{wxSocketBase::RestoreState}\label{wxsocketbaserestorestate}
+
+\func{void}{RestoreState}{\void}
+
+This function restores a previously saved state.
+
+\wxheading{See also}
+
+\helpref{wxSocketBase::SaveState}{wxsocketbasesavestate}
+
+% ---------------------------------------------------------------------------
+% Socket callbacks
+% ---------------------------------------------------------------------------
+
+\membersection{wxSocketBase::SetEventHandler}{wxsocketbaseseteventhandler}
+\func{void}{SetEventHandler}{\param{wxEvtHandler\&}{ evt\_hdlr}, \param{int}{ id = -1}}
+
+Sets an event handler to be called when a socket event occured.
+
+\wxheading{Parameters}
+
+\docparam{evt\_hdlr}{Specifies the event handler you want to use.}
+\docparam{id}{The id of socket event.}
+
+\wxheading{See also}
+
+\helpref{wxSocketEvent}{wxsocketevent}
+
+% ---------------------------------------------------------------------------
+% CLASS wxSocketClient
+% ---------------------------------------------------------------------------
+
+\section{\class{wxSocketClient}}\label{wxsocketclient}
+
+\wxheading{Derived from}
+
+\helpref{wxSocketBase}{wxsocketbase}
+
+% ---------------------------------------------------------------------------
+% Members
+% ---------------------------------------------------------------------------
+
+%
+% wxSocketClient
+%
+
+\membersection{wxSocketClient::wxSocketClient}
+\func{}{wxSocketClient}{\param{wxSockFlags}{ flags = wxSocketBase::NONE}}
+
+Constructs a new wxSocketClient.
+{\bf Warning !} The created needs to be registered to a socket handler (See \helpref{wxSocketHandler}{wxsockethandler}).
+
+\wxheading{Parameters}
+
+\docparam{flags}{Socket flags (See \helpref{wxSocketBase::SetFlags}{wxsocketbasesetflags})}
+
+%
+% ~wxSocketClient
+%
+
+\membersection{wxSocketClient::\destruct{wxSocketClient}}
+\func{}{\destruct{wxSocketClient}}{\void}
+
+Destructs a wxSocketClient object.
+
+%
+% Connect
+%
+
+\membersection{wxSocketClient::Connect}{wxsocketclientconnect}
+\func{bool}{Connect}{\param{wxSockAddress\&}{ address}, \param{bool}{ wait = TRUE}}
+
+Connects to a server using the specified address. If {\it wait} is TRUE, Connect
+will wait for the socket ready to send or receive data.
+
+\wxheading{Parameters}
+
+\docparam{address}{Address of the server.}
+\docparam{wait}{If true, waits for the connection to be ready.}
+
+\wxheading{Return value}
+
+Returns TRUE if the connection is established and no error occurs.
+
+\wxheading{See also}
+
+\helpref{wxSocketClient::WaitOnConnect}{wxsocketclientwaitonconnect}
+
+%
+% WaitOnConnect
+%
+
+\membersection{wxSocketClient::WaitOnConnect}
+\func{bool}{WaitOnConnect}{\param{long}{ seconds = -1}, \param{long}{ microseconds = 0}}
+
+Wait for a "connect" event.
+
+\wxheading{See also}
+
+\helpref{wxSocketBase::Wait}{wxsocketbasewait} for a detailed description.
+
+% ---------------------------------------------------------------------------
+% CLASS: wxSocketServer
+% ---------------------------------------------------------------------------
+
+\section{\class{wxSocketServer}}\label{wxsocketserver}
+
+\wxheading{Derived from}
+
+\helpref{wxSocketBase}{wxsocketbase}
+
+% ---------------------------------------------------------------------------
+% Members
+% ---------------------------------------------------------------------------
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+%
+% wxSocketServer
+%
+
+\membersection{wxSocketServer::wxSocketServer}{wxsocketserverconstr}
+\func{}{wxSocketServer}{\param{wxSockAddress\&}{ address}, \param{wxSockFlags}{ flags = wxSocketBase::NONE}}
+
+Constructs a new wxSocketServer.
+{\bf Warning !} The created object needs to be registered to a socket handler
+(See \helpref{wxSocketHandler}{wxsockethandler}).
+
+\wxheading{Parameters}
+
+\docparam{address}{Specifies the local address for the server (e.g. port number).}
+\docparam{flags}{Socket flags (See \helpref{wxSocketBase::SetFlags}{wxsocketbase
+setflags})}
+
+%
+% ~wxSocketServer
+%
+
+\membersection{wxSocketServer::\destruct{wxSocketServer}}
+\func{}{\destruct{wxSocketServer}}{\void}
+
+Destructs a wxSocketServer object (it doesn't close the accepted connection).
+
+%
+% Accept
+%
+
+\membersection{wxSocketServer::Accept}
+\func{wxSocketBase *}{Accept}{\void}
+
+Creates a new object wxSocketBase and accepts an incoming connection. {\bf Warning !} This function will block the GUI.
+
+\wxheading{Return value}
+
+Returns an opened socket connection.
+
+\wxheading{See also}
+
+\helpref{wxSocketServer::AcceptWith}{wxsocketserveracceptwith}
+
+%
+% AcceptWith
+%
+
+\membersection{wxSocketServer::AcceptWith}{wxsocketserveracceptwith}
+\func{bool}{AcceptWith}{\param{wxSocketBase\&}{ socket}}
+
+Accept an incoming connection using the specified socket object.
+This is useful when someone wants to inherit wxSocketBase.
+
+\wxheading{Parameters}
+
+\docparam{socket}{Socket to be initialized}
+
+\wxheading{Return value}
+
+Returns TRUE if no error occurs, else FALSE.
+
+
+% ---------------------------------------------------------------------------
+% CLASS: wxSocketHandler
+% ---------------------------------------------------------------------------
+
+\section{\class{wxSocketHandler}}\label{wxsockethandler}
+
+\wxheading{Derived from}
+
+\helpref{wxObject}{wxobject}
+
+% ---------------------------------------------------------------------------
+% Members
+% ---------------------------------------------------------------------------
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+%
+% wxSocketHandler
+%
+\membersection{wxSocketHandler::wxSocketHandler}
+\func{}{wxSocketHandler}{\void}
+
+Constructs a new wxSocketHandler.
+It is advised to use \helpref{wxSocketHandler::Master}{wxsockethandlermaster}
+to get a socket handler. But creating a socket handler is useful to group
+many sockets.
+
+%
+% ~wxSocketHandler
+%
+
+\membersection{wxSocketHandler::\destruct{wxSocketHandler}}
+\func{}{\destruct{wxSocketHandler}}{\void}
+
+Destructs a wxSocketHandler object.
+
+%
+% Register
+%
+
+\membersection{wxSocketHandler::Register}
+\func{void}{Register}{\param{wxSocketBase *}{socket}}
+
+Register a socket: if it is already registered in this handler it will just
+return immediately.
+
+\wxheading{Parameters}
+
+\docparam{socket}{Socket to be registered.}
+
+%
+% UnRegister
+%
+
+\membersection{wxSocketHandler::UnRegister}
+\func{void}{UnRegister}{\param{wxSocketBase *}{socket}}
+
+UnRegister a socket: if it isn't registered in this handler it will just
+return.
+
+\wxheading{Parameters}
+
+\docparam{socket}{Socket to be unregistered.}
+
+%
+% Count
+%
+
+\membersection{wxSocketHandler::Count}
+\constfunc{unsigned long}{Count}{\void}
+
+Returns the number of sockets registered in the handler.
+
+\wxheading{Return value}
+
+Number of sockets registered.
+
+%
+% CreateServer
+%
+
+\membersection{wxSocketHandler::CreateServer}
+\func{wxSocketServer *}{CreateServer}{\param{wxSockAddress\&}{ address}, \param{wxSocketBase::wxSockFlags}{ flags = wxSocketbase::NONE}}
+
+Creates a new wxSocketServer object. The object is automatically registered
+to the current socket handler.
+For a detailed description of the parameters, see \helpref{wxSocketServer::wxSocketServer}{wxsocketserverconstr}.
+
+\wxheading{Return value}
+
+Returns a new socket server.
+
+%
+% CreateClient
+%
+
+\membersection{wxSocketHandler::CreateClient}
+\func{wxSocketServer *}{CreateClient}{\param{wxSocketBase::wxSockFlags}{ flags = wxSocketbase::NONE}}
+
+Creates a new wxSocketClient object. The object is automatically registered
+to the current socket handler.
+For a detailed description of the parameters, see \helpref{wxSocketClient::Connect}{wxsocketclientconnect}.
+
+\wxheading{Return value}
+
+Returns a new socket client.
+
+%
+% Master
+%
+
+\membersection{wxSocketHandler::Master}
+\func{static wxSocketHandler\&}{Master}{\void}
+
+Returns a default socket handler.
diff --git a/docs/latex/wx/url.tex b/docs/latex/wx/url.tex
new file mode 100644
index 0000000000..11d860e7bb
--- /dev/null
+++ b/docs/latex/wx/url.tex
@@ -0,0 +1,110 @@
+\section{\class{wxURL}}\label{wxurl}
+
+\wxheading{Derived from}
+
+\helpref{wxObject}{wxobject}
+
+\wxheading{See also}
+
+\helpref{wxSocketBase}{wxsocketbase},\helpref{wxProtocol}{wxprotocol}
+
+% ----------------------------------------------------------------------------
+% Members
+% ----------------------------------------------------------------------------
+
+\latexignore{\rtfignore{\membersection{Members}}}
+
+\membersection{wxURL::wxURL}{wxurlconstr}
+\func{}{wxURL}{\param{const wxString\&}{ url}}
+
+Constructs an URL object from the string.
+
+\wxheading{Parameters}
+
+\docparam{url}{Url string to parse.}
+
+\membersection{wxURL::\destruct{wxURL}}
+\func{}{\destruct{wxURL}}{\void}
+
+Destroys the URL object.
+
+%
+% GetProtocolName
+%
+\membersection{wxURL::GetProtocolName}
+\constfunc{wxString}{GetProtocolName}{\void}
+
+Returns the name of the protocol which will be used to get the URL.
+
+%
+% GetProtocol
+%
+\membersection{wxURL::GetProtocol}
+\func{wxProtocol\&}{GetProtocol}{\void}
+
+Returns a reference to the protocol which will be used to get the URL.
+
+%
+% GetError
+%
+\membersection{wxURL::GetError}
+\constfunc{wxURLError}{GetError}{\void}
+
+Returns the last error. This error refers to the URL parsing or to the protocol.
+It can be one of these errors:
+
+\twocolwidtha{7cm}
+\begin{twocollist}\itemsep=0pt
+\twocolitem{{\bf wxURL\_NOERR}}{No error.}
+\twocolitem{{\bf wxURL\_SNTXERR}}{Syntax error in the URL string.}
+\twocolitem{{\bf wxURL\_NOPROTO}}{Found no protocol which can get this URL.}
+\twocolitem{{\bf wxURL\_NOHOST}}{An host name is required for this protocol.}
+\twocolitem{{\bf wxURL\_NOPATH}}{A path is required for this protocol.}
+\twocolitem{{\bf wxURL\_CONNERR}}{Connection error.}
+\twocolitem{{\bf wxURL\_PROTOERR}}{An error occured during negotiation.}
+\end{twocollist}%
+
+%
+% GetInputStream
+%
+\membersection{wxURL::GetInputStream}
+\func{wxInputStream *}{GetInputStream}{\void}
+
+Initializes the protocol and opens the input stream.
+
+\wxheading{Return value:}
+
+It returns a read-only wxStream.
+
+\wxheading{See also:}
+
+\helpref{wxInputStream}{wxinputstream}
+
+%
+% SetDefaultProxy
+%
+\membersection{wxURL::SetDefaultProxy}{wxurlsetdefaultproxy}
+\func{static void}{SetDefaultProxy}{\param{const wxString\&}{ url\_proxy}}
+
+Sets the default proxy server to use to get the URL. The string specifies
+the proxy like this: <hostname>:<port number>.
+
+\wxheading{Parameters}
+
+\docparam{url\_proxy}{Specifies the proxy to use}
+
+\wxheading{See also}
+
+\helpref{wxURL::SetProxy}{wxurlsetproxy}
+
+%
+% SetProxy
+%
+\membersection{wxURL::SetProxy}{wxurlsetproxy}
+\func{void}{SetProxy}{\param{const wxString\&}{ url\_proxy}}
+
+Sets the proxy to use for this URL.
+
+\wxheading{See also}
+
+\helpref{wxURL::SetDefaultProxy}{wxurlsetdefaultproxy}
-- 
2.50.0

