root/trunk/dep/src/sockets/ResolvServer.cpp @ 2

Revision 2, 1.9 kB (checked in by yumileroy, 17 years ago)

[svn] * Proper SVN structure

Original author: Neo2003
Date: 2008-10-02 16:23:55-05:00

Line 
1/** \file ResolvServer.cpp
2 **     \date  2005-03-24
3 **     \author grymse@alhem.net
4**/
5/*
6Copyright (C) 2004-2007  Anders Hedstrom
7
8This library is made available under the terms of the GNU GPL.
9
10If you would like to use this library in a closed-source application,
11a separate license agreement is available. For information about
12the closed-source license agreement for the C++ sockets library,
13please visit http://www.alhem.net/Sockets/license.html and/or
14email license@alhem.net.
15
16This program is free software; you can redistribute it and/or
17modify it under the terms of the GNU General Public License
18as published by the Free Software Foundation; either version 2
19of the License, or (at your option) any later version.
20
21This program is distributed in the hope that it will be useful,
22but WITHOUT ANY WARRANTY; without even the implied warranty of
23MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
24GNU General Public License for more details.
25
26You should have received a copy of the GNU General Public License
27along with this program; if not, write to the Free Software
28Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
29*/
30#ifdef _MSC_VER
31#pragma warning(disable:4786)
32#endif
33#include "ResolvServer.h"
34#ifdef ENABLE_RESOLVER
35#include "StdoutLog.h"
36#include "ListenSocket.h"
37#include "ResolvSocket.h"
38#include "SocketHandler.h"
39
40#ifdef SOCKETS_NAMESPACE
41namespace SOCKETS_NAMESPACE {
42#endif
43
44
45ResolvServer::ResolvServer(port_t port)
46:Thread()
47,m_quit(false)
48,m_port(port)
49,m_ready(false)
50{
51}
52
53
54ResolvServer::~ResolvServer()
55{
56}
57
58
59void ResolvServer::Run()
60{
61//      StdoutLog log;
62        SocketHandler h;
63        ListenSocket<ResolvSocket> l(h);
64
65        if (l.Bind("127.0.0.1", m_port))
66        {
67                return;
68        }
69        h.Add(&l);
70
71        m_ready = true;
72        while (!m_quit && IsRunning() )
73        {
74                h.Select(0, 500000);
75        }
76        SetRunning(false);
77}
78
79
80void ResolvServer::Quit()
81{
82        m_quit = true;
83}
84
85
86bool ResolvServer::Ready()
87{
88        return m_ready;
89}
90
91
92#ifdef SOCKETS_NAMESPACE
93}
94#endif
95
96#endif // ENABLE_RESOLVER
97
Note: See TracBrowser for help on using the browser.