ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/repos/HostUpdate/Host.hpp
Revision: 900
Committed: 2007-04-29T02:26:40-07:00 (18 years, 1 month ago) by douglas
File size: 1474 byte(s)
Log Message:
Woo!

File Contents

# User Rev Content
1 Douglas Thrift 11 // Host Update
2     //
3     // Douglas Thrift
4     //
5     // $Id$
6    
7 Douglas Thrift 12 #ifndef _Host_hpp_
8     #define _Host_hpp_
9 Douglas Thrift 11
10     #include "HostUpdate.hpp"
11    
12     #ifndef _WIN32
13    
14     #include <sys/socket.h>
15     #include <netdb.h>
16 Douglas Thrift 14 #include <netinet/in.h>
17     #include <arpa/inet.h>
18 Douglas Thrift 11
19     #else
20    
21 Douglas Thrift 50 #include <winsock2.h>
22 Douglas Thrift 11
23     typedef unsigned long in_addr_t;
24    
25     #endif
26    
27     class Host
28     {
29     private:
30     #ifdef _WIN32
31     static unsigned count;
32     static WSADATA data;
33     #endif
34 douglas 900 std::string host;
35     std::string name;
36     struct ::in_addr address;
37     std::string platform;
38 Douglas Thrift 11 public:
39 douglas 900 Host(const std::string& host, const std::string& name = "", const std::string& address = "", const std::string& platform = "Unknown");
40 Douglas Thrift 11 ~Host();
41 douglas 900 void setHost(const std::string& host) { this->host = host; }
42     void setName(const std::string& name, bool lookup = false);
43     void setAddress(const std::string& address, bool lookup = false);
44     void setPlatform(const std::string& platform) { this->platform = platform; }
45     std::string getHost() const { return host; }
46     std::string getName() const { return name; }
47     std::string getAddress() const { return inet_ntoa(address); }
48     std::string getPlatform() const { return platform; }
49 Douglas Thrift 13 bool operator==(const Host& host) const;
50     bool operator!=(const Host& host) const { return !(*this == host); }
51     bool operator<(const Host& host) const { return this->host < host.host; }
52     bool operator>(const Host& host) const { return this->host > host.host; }
53     Host operator++();
54     Host operator++(int);
55     Host operator--();
56     Host operator--(int);
57 Douglas Thrift 11 };
58    
59 Douglas Thrift 12 #endif // _Host_hpp_

Properties

Name Value
svn:eol-style native
svn:keywords Id