]> git.lizzy.rs Git - dragonfireclient.git/blobdiff - src/socket.h
Fix bug that was leading to oversized tooltips containing multiline text when it...
[dragonfireclient.git] / src / socket.h
index 92e0cbb13034baa8ca6efac168943cb620626758..8d1ad70fff2d3603f6e2c5fee044578dd1cc25ff 100644 (file)
@@ -45,7 +45,7 @@ extern bool socket_enable_debug_output;
 class SocketException : public BaseException
 {
 public:
-       SocketException(const char *s):
+       SocketException(const std::string &s):
                BaseException(s)
        {
        }
@@ -54,7 +54,7 @@ class SocketException : public BaseException
 class ResolveError : public BaseException
 {
 public:
-       ResolveError(const char *s):
+       ResolveError(const std::string &s):
                BaseException(s)
        {
        }
@@ -63,7 +63,7 @@ class ResolveError : public BaseException
 class SendFailedException : public BaseException
 {
 public:
-       SendFailedException(const char *s):
+       SendFailedException(const std::string &s):
                BaseException(s)
        {
        }
@@ -85,16 +85,16 @@ class Address
        Address();
        Address(u32 address, u16 port);
        Address(u8 a, u8 b, u8 c, u8 d, u16 port);
-       Address(const IPv6AddressBytes * ipv6_bytes, u16 port);
-       bool operator==(Address &address);
-       bool operator!=(Address &address);
+       Address(const IPv6AddressBytes *ipv6_bytes, u16 port);
+       bool operator==(const Address &address);
+       bool operator!=(const Address &address);
        // Resolve() may throw ResolveError (address is unchanged in this case)
        void Resolve(const char *name);
        struct sockaddr_in getAddress() const;
        unsigned short getPort() const;
        void setAddress(u32 address);
        void setAddress(u8 a, u8 b, u8 c, u8 d);
-       void setAddress(const IPv6AddressBytes * ipv6_bytes);
+       void setAddress(const IPv6AddressBytes *ipv6_bytes);
        struct sockaddr_in6 getAddress6() const;
        int getFamily() const;
        bool isIPv6() const;
@@ -115,9 +115,13 @@ class Address
 class UDPSocket
 {
 public:
+       UDPSocket() { }
        UDPSocket(bool ipv6);
        ~UDPSocket();
        void Bind(Address addr);
+
+       bool init(bool ipv6, bool noExceptions = false);
+
        //void Close();
        //bool IsOpen();
        void Send(const Address & destination, const void * data, int size);