]> granicus.if.org Git - icinga2/commitdiff
Moved Get*Address() functions to Socket class.
authorGunnar Beutner <gunnar.beutner@netways.de>
Fri, 27 Apr 2012 09:44:05 +0000 (11:44 +0200)
committerGunnar Beutner <gunnar.beutner@netways.de>
Fri, 27 Apr 2012 09:44:05 +0000 (11:44 +0200)
base/socket.cpp
base/socket.h
base/tcpsocket.cpp
base/tcpsocket.h

index 7e3770eda6ff23d4fcdec9caa55780e7b0734e8c..2d0656ac931c5d19eec100cbf7ae65e18493f16a 100644 (file)
@@ -105,3 +105,44 @@ bool Socket::WantsToWrite(void) const
 {
        return false;
 }
+
+string Socket::GetAddressFromSockaddr(sockaddr *address, socklen_t len)
+{
+       char host[NI_MAXHOST];
+       char service[NI_MAXSERV];
+
+       if (getnameinfo(address, len, host, sizeof(host), service, sizeof(service), NI_NUMERICHOST | NI_NUMERICSERV) < 0)
+               throw InvalidArgumentException(); /* TODO: throw proper exception */
+
+       stringstream s;
+       s << "[" << host << "]:" << service;
+       return s.str();
+}
+
+string Socket::GetClientAddress(void)
+{
+       sockaddr_storage sin;
+       socklen_t len = sizeof(sin);
+
+       if (getsockname(GetFD(), (sockaddr *)&sin, &len) < 0) {
+               HandleSocketError();
+
+               return string();
+       }
+
+       return GetAddressFromSockaddr((sockaddr *)&sin, len);
+}
+
+string Socket::GetPeerAddress(void)
+{
+       sockaddr_storage sin;
+       socklen_t len = sizeof(sin);
+
+       if (getpeername(GetFD(), (sockaddr *)&sin, &len) < 0) {
+               HandleSocketError();
+
+               return string();
+       }
+
+       return GetAddressFromSockaddr((sockaddr *)&sin, len);
+}
index 1e6aa9881874d768e6d3daffbff09f004dc2cbac..54d7b1c4a4ee08427fce8b0fbe6c76a4878f817e 100644 (file)
@@ -19,6 +19,8 @@ private:
 
        int ExceptionEventHandler(const EventArgs& ea);
 
+       static string GetAddressFromSockaddr(sockaddr *address, socklen_t len);
+
 protected:
        Socket(void);
 
@@ -52,6 +54,9 @@ public:
        virtual void Stop(void);
 
        void Close(void);
+
+       string GetClientAddress(void);
+       string GetPeerAddress(void);
 };
 
 }
index 86d73afb53ff0ad0483073fdf3344abc5c282a50..0ab19cc1436c307081a39e67dc92bce5b0db7ffb 100644 (file)
@@ -78,45 +78,3 @@ void TCPSocket::Bind(const char *hostname, unsigned short port, int family)
 
        freeaddrinfo(result);
 }
-
-
-string TCPSocket::GetAddressFromSockaddr(sockaddr *address, socklen_t len)
-{
-       char host[NI_MAXHOST];
-       char service[NI_MAXSERV];
-
-       if (getnameinfo(address, len, host, sizeof(host), service, sizeof(service), NI_NUMERICHOST | NI_NUMERICSERV) < 0)
-               throw InvalidArgumentException(); /* TODO: throw proper exception */
-
-       stringstream s;
-       s << "[" << host << "]:" << service;
-       return s.str();
-}
-
-string TCPSocket::GetClientAddress(void)
-{
-       sockaddr_storage sin;
-       socklen_t len = sizeof(sin);
-
-       if (getsockname(GetFD(), (sockaddr *)&sin, &len) < 0) {
-               HandleSocketError();
-
-               return string();
-       }
-
-       return GetAddressFromSockaddr((sockaddr *)&sin, len);
-}
-
-string TCPSocket::GetPeerAddress(void)
-{
-       sockaddr_storage sin;
-       socklen_t len = sizeof(sin);
-
-       if (getpeername(GetFD(), (sockaddr *)&sin, &len) < 0) {
-               HandleSocketError();
-
-               return string();
-       }
-
-       return GetAddressFromSockaddr((sockaddr *)&sin, len);
-}
index 1545cc4ce2616f312a51524f9b42b6fe8da640b7..16ae14851161675fe8d42163f21c1ee431e45ef4 100644 (file)
@@ -7,8 +7,6 @@ namespace icinga
 class I2_BASE_API TCPSocket : public Socket
 {
 private:
-       static string GetAddressFromSockaddr(sockaddr *address, socklen_t len);
-
        void MakeSocket(int family);
 
 public:
@@ -17,12 +15,6 @@ public:
 
        void Bind(unsigned short port, int family);
        void Bind(const char *hostname, unsigned short port, int family);
-
-       bool GetClientSockaddr(sockaddr_storage *address);
-       bool GetPeerSockaddr(sockaddr_storage *address);
-
-       string GetClientAddress(void);
-       string GetPeerAddress(void);
 };
 
 }