]> git.mxchange.org Git - simgear.git/blob - simgear/io/HostLookup.hxx
Ick, further fixes for Linux/MSVC
[simgear.git] / simgear / io / HostLookup.hxx
1 #ifndef SG_HOST_LOOKUP_HXX
2 #define SG_HOST_LOOKUP_HXX
3
4 #include <simgear/io/raw_socket.hxx>
5 #include <simgear/timing/timestamp.hxx>
6
7 #include <simgear/structure/SGReferenced.hxx>
8
9 namespace simgear
10 {
11
12 class HostLookup : public SGReferenced
13 {
14 public:
15     static HostLookup* lookup(const std::string& h);
16         
17         bool resolved() const
18         { return _resolved; }
19         
20         bool failed() const
21         { return _failed; }
22         
23         const IPAddress& address() const
24         { return _address; }
25         
26         const std::string& host() const
27         { return _host; }
28 private:
29     HostLookup(const std::string& h);
30     
31         friend class Resolver;
32         
33         void resolve(const IPAddress& addr);
34         void fail();
35         
36         std::string _host;
37         bool _resolved;
38         bool _failed;
39         IPAddress _address;
40         SGTimeStamp _age;
41 };
42
43 } // of namespace simgear
44
45 #endif // of SG_HOST_LOOKUP_HXX