ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/repos/HostStatus/HostStatus.hpp
Revision: 44
Committed: 2003-11-17T11:05:37-08:00 (21 years, 7 months ago) by Douglas Thrift
File size: 1236 byte(s)
Log Message:
Sticky!

File Contents

# User Rev Content
1 Douglas Thrift 27 // Host Status
2     //
3     // Douglas Thrift
4     //
5     // $Id$
6    
7     #ifndef _HostStatus_hpp_
8     #define _HostStatus_hpp_
9    
10 Douglas Thrift 32 #define _BSD_SOURCE
11    
12 Douglas Thrift 27 #include <iostream>
13     #include <string>
14     #include <sstream>
15 Douglas Thrift 34 #include <list>
16 Douglas Thrift 44 #include <set>
17 Douglas Thrift 27 #include <map>
18     #include <cstdlib>
19     #include <ctime>
20    
21     #include <pstream.h>
22    
23     using namespace std;
24     using namespace redi;
25    
26     inline string sgetenv(const string& name)
27     {
28     char* value = getenv(name.c_str());
29    
30     return value != NULL ? value : "";
31     }
32    
33 Douglas Thrift 33 inline int sputenv(const string& name)
34     {
35     char* value = new char[name.size() + 1];
36    
37     sprintf(value, name.c_str());
38 Douglas Thrift 39
39 Douglas Thrift 33 int code = putenv(value);
40    
41     return code;
42     }
43    
44 Douglas Thrift 27 inline void sunsetenv(const string& name) { unsetenv(name.c_str()); }
45    
46 Douglas Thrift 38 #ifdef __CYGWIN__
47    
48     inline time_t timegm(struct tm* time)
49     {
50     string zone = sgetenv("TZ");
51    
52     sputenv("TZ=");
53     tzset();
54    
55     time_t when = mktime(time);
56    
57     sputenv("TZ=" + zone);
58     tzset();
59    
60     return when;
61     }
62    
63     #endif
64    
65 Douglas Thrift 27 class HostStatus
66     {
67     private:
68     multimap<string, string> cgi;
69 Douglas Thrift 35 bool page;
70 Douglas Thrift 39 bool host;
71     bool name;
72     bool address;
73     bool platform;
74     bool since;
75 Douglas Thrift 29 void parse(const string& method);
76 Douglas Thrift 39 void mode();
77 Douglas Thrift 29 void display(const string& method);
78 Douglas Thrift 40 void header(const string& method);
79 Douglas Thrift 35 void footer();
80 Douglas Thrift 27 public:
81     HostStatus();
82     ~HostStatus() {}
83     };
84    
85     #endif // _HostStatus_hpp_

Properties

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