big svn cleanup
[anytun.git] / src / Sockets / ResolvServer.h
blobf8f8f5aadbfd8f4996fbbe8477818b0db3bee281
1 /** \file ResolvServer.h
2 ** \date 2005-03-24
3 ** \author grymse@alhem.net
4 **/
5 /*
6 Copyright (C) 2004-2007 Anders Hedstrom
8 This library is made available under the terms of the GNU GPL.
10 If you would like to use this library in a closed-source application,
11 a separate license agreement is available. For information about
12 the closed-source license agreement for the C++ sockets library,
13 please visit http://www.alhem.net/Sockets/license.html and/or
14 email license@alhem.net.
16 This program is free software; you can redistribute it and/or
17 modify it under the terms of the GNU General Public License
18 as published by the Free Software Foundation; either version 2
19 of the License, or (at your option) any later version.
21 This program is distributed in the hope that it will be useful,
22 but WITHOUT ANY WARRANTY; without even the implied warranty of
23 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
24 GNU General Public License for more details.
26 You should have received a copy of the GNU General Public License
27 along with this program; if not, write to the Free Software
28 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
30 #ifndef _SOCKETS_ResolvServer_H
31 #define _SOCKETS_ResolvServer_H
32 #include "sockets-config.h"
33 #ifdef ENABLE_RESOLVER
34 #include "socket_include.h"
35 #include "Thread.h"
37 #ifdef SOCKETS_NAMESPACE
38 namespace SOCKETS_NAMESPACE {
39 #endif
41 /** \defgroup async Asynchronous DNS */
42 /** Async DNS resolver thread.
43 \ingroup async */
44 class ResolvServer : public Thread
46 public:
47 ResolvServer(port_t);
48 ~ResolvServer();
50 void Run();
51 void Quit();
53 bool Ready();
55 private:
56 ResolvServer(const ResolvServer& ) {} // copy constructor
57 ResolvServer& operator=(const ResolvServer& ) { return *this; } // assignment operator
59 bool m_quit;
60 port_t m_port;
61 bool m_ready;
67 #ifdef SOCKETS_NAMESPACE
69 #endif
71 #endif // ENABLE_RESOLVER
72 #endif // _SOCKETS_ResolvServer_H