36 |
36 |
37 enum WithPort { IP_WITH_PORT, IP_NO_PORT }; |
37 enum WithPort { IP_WITH_PORT, IP_NO_PORT }; |
38 |
38 |
39 struct IPAddress |
39 struct IPAddress |
40 { |
40 { |
|
41 class StringParseError |
|
42 { |
|
43 String m_message; |
|
44 |
|
45 public: |
|
46 StringParseError (String message) : |
|
47 m_message (message) {} |
|
48 |
|
49 inline METHOD |
|
50 what() const throw() -> const char* |
|
51 { |
|
52 return m_message.chars(); |
|
53 } |
|
54 }; |
|
55 |
41 unsigned long host; |
56 unsigned long host; |
42 unsigned short port; |
57 unsigned short port; |
43 static bool sink; |
|
44 |
58 |
45 IPAddress(); |
59 IPAddress(); |
46 IPAddress (unsigned long host, unsigned short port); |
60 IPAddress (unsigned long host, unsigned short port); |
47 IPAddress (const IPAddress& other); |
61 IPAddress (const IPAddress& other); |
48 |
62 |
54 METHOD operator< (const IPAddress& other) const -> bool; |
68 METHOD operator< (const IPAddress& other) const -> bool; |
55 inline METHOD operator== (const IPAddress& other) const -> bool; |
69 inline METHOD operator== (const IPAddress& other) const -> bool; |
56 inline METHOD operator!= (const IPAddress& other) const -> bool; |
70 inline METHOD operator!= (const IPAddress& other) const -> bool; |
57 inline METHOD operator[] (int n) const -> unsigned char; |
71 inline METHOD operator[] (int n) const -> unsigned char; |
58 |
72 |
59 static METHOD from_string (String input, bool* ok = &sink) -> IPAddress; |
73 static METHOD from_string (String input) -> IPAddress; |
60 static METHOD resolve (String node, bool* ok = &sink) -> IPAddress; |
74 static METHOD resolve (String node) -> IPAddress; |
61 }; |
75 }; |
62 |
76 |
63 static const unsigned long localhost = 0x7F000001; |
77 static const unsigned long localhost = 0x7F000001; |
64 |
78 |
65 inline METHOD |
79 inline METHOD |