-/////////////////////////////////////////////////////////////////
-// wxSocketHandler ///////////////////////////////////////////////
-/////////////////////////////////////////////////////////////////
-
-wxSocketHandler *wxSocketHandler::master = NULL;
-#if defined(__WINDOWS__)
-static int win_initialized = 0;
-#endif
-
-// --------------------------------------------------------------
-// --------- wxSocketHandler CONSTRUCTOR ------------------------
-// --------------------------------------------------------------
-wxSocketHandler::wxSocketHandler()
-{
-#if defined(__WINDOWS__)
- if (!win_initialized)
- {
- WSADATA wsaData;
-
- WSAStartup((1 << 8) | 1, &wsaData);
- win_initialized = 1;
- }
-#endif
-
- socks = new wxList;
-
-#ifndef __WINDOWS__
- signal(SIGPIPE, SIG_IGN);
-#endif
-}
-
-// --------------------------------------------------------------
-// --------- wxSocketHandler DESTRUCTOR -------------------------
-// --------------------------------------------------------------
-wxSocketHandler::~wxSocketHandler()
-{
- wxNode *next_node, *node = socks->First();
-
- while (node)
- {
- wxSocketBase* sock = (wxSocketBase*)node->Data();
-
- delete sock;
- next_node = node->Next();
- delete node;
- node = next_node;
- }
-
- delete socks;
-
-#ifdef __WINDOWS__
- WSACleanup();
- win_initialized = 0;
-#endif
-}
-
-// --------------------------------------------------------------
-// --------- wxSocketHandler registering functions --------------
-// --------------------------------------------------------------
-
-void wxSocketHandler::Register(wxSocketBase* sock)
-{
- wxNode *node;
-
- for (node = socks->First(); node != NULL; node = node->Next())
- {
- wxSocketBase* s = (wxSocketBase*)node->Data();
-
- if (s == sock)
- return;
- }
-
- if (sock)
- {
- socks->Append(sock);
- sock->SetHandler(this);
- }
-}
-
-void wxSocketHandler::UnRegister(wxSocketBase* sock)
-{
- wxNode *node;
-
- for (node = socks->First(); node; node = node->Next())
- {
- wxSocketBase* s = (wxSocketBase*)node->Data();
-
- if (s == sock)
- {
- delete node;
- sock->SetHandler(NULL);
- return;
- }
- }
-}
-
-unsigned long wxSocketHandler::Count() const
-{
- return socks->Number();
-}
-