diff options
author | maximius <none@none> | 2009-10-17 15:51:44 -0700 |
---|---|---|
committer | maximius <none@none> | 2009-10-17 15:51:44 -0700 |
commit | e585187b248f48b3c6e9247b49fa07c6565d65e5 (patch) | |
tree | 637c5b7ddacf41040bef4ea4f75a97da64c6a9bc /dep/include/sockets/ResolvSocket.h | |
parent | 26b5e033ffde3d161382fc9addbfa99738379641 (diff) |
*Backed out changeset 3be01fb200a5
--HG--
branch : trunk
Diffstat (limited to 'dep/include/sockets/ResolvSocket.h')
-rw-r--r-- | dep/include/sockets/ResolvSocket.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/dep/include/sockets/ResolvSocket.h b/dep/include/sockets/ResolvSocket.h index 2347f040a7a..38ff3335c28 100644 --- a/dep/include/sockets/ResolvSocket.h +++ b/dep/include/sockets/ResolvSocket.h @@ -4,20 +4,25 @@ **/ /* Copyright (C) 2004-2007 Anders Hedstrom + This library is made available under the terms of the GNU GPL. + If you would like to use this library in a closed-source application, a separate license agreement is available. For information about the closed-source license agreement for the C++ sockets library, please visit http://www.alhem.net/Sockets/license.html and/or email license@alhem.net. + This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. + This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. @@ -28,10 +33,13 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #ifdef ENABLE_RESOLVER #include "TcpSocket.h" #include <map> + #ifdef SOCKETS_NAMESPACE namespace SOCKETS_NAMESPACE { #endif + class Mutex; + /** Async DNS resolver socket. \ingroup async */ class ResolvSocket : public TcpSocket @@ -40,6 +48,7 @@ class ResolvSocket : public TcpSocket std::map<std::string, std::string> > cache_t; /* host, result */ typedef std::map<std::string, /* type */ std::map<std::string, time_t> > timeout_t; /* host, time */ + public: ResolvSocket(ISocketHandler&); ResolvSocket(ISocketHandler&, Socket *parent, const std::string& host, port_t port, bool ipv6 = false); @@ -48,19 +57,25 @@ public: ResolvSocket(ISocketHandler&, Socket *parent, in6_addr&); #endif ~ResolvSocket(); + void OnAccept() { m_bServer = true; } void OnLine(const std::string& line); void OnDetached(); void OnDelete(); + void SetId(int x) { m_resolv_id = x; } int GetId() { return m_resolv_id; } + void OnConnect(); + #ifdef ENABLE_IPV6 void SetResolveIpv6(bool x = true) { m_resolve_ipv6 = x; } #endif + private: ResolvSocket(const ResolvSocket& s) : TcpSocket(s) {} // copy constructor ResolvSocket& operator=(const ResolvSocket& ) { return *this; } // assignment operator + std::string m_query; std::string m_data; bool m_bServer; @@ -80,9 +95,13 @@ private: }; + + #ifdef SOCKETS_NAMESPACE } #endif + #endif // ENABLE_RESOLVER #endif // _SOCKETS_ResolvSocket_H + |