r3298 - in trunk/libmnetutil: include/libmnetutil source
erik at minisip.org
erik at minisip.org
Mon Jun 11 15:31:33 CEST 2007
Author: erik
Date: 2007-06-11 15:31:33 +0200 (Mon, 11 Jun 2007)
New Revision: 3298
Modified:
trunk/libmnetutil/include/libmnetutil/IP4Address.h
trunk/libmnetutil/source/IP4Address.cxx
Log:
* Added method to print an IP4Address to a Dbg output. Before we could
only print it to an ostream.
Modified: trunk/libmnetutil/include/libmnetutil/IP4Address.h
===================================================================
--- trunk/libmnetutil/include/libmnetutil/IP4Address.h 2007-06-11 13:30:21 UTC (rev 3297)
+++ trunk/libmnetutil/include/libmnetutil/IP4Address.h 2007-06-11 13:31:33 UTC (rev 3298)
@@ -29,6 +29,7 @@
#include <libmnetutil/IPAddress.h>
#include<libmutil/mtypes.h>
+#include<libmutil/dbg.h>
#include<string>
@@ -47,6 +48,7 @@
virtual std::string getString() const;
virtual void connect(Socket &socket, int32_t port);
friend std::ostream& operator<<(std::ostream&, IP4Address &a);
+ friend Dbg& operator<<(Dbg&, IP4Address &a);
virtual struct sockaddr * getSockaddrptr(int32_t port=0) const;
virtual int32_t getSockaddrLength() const;
Modified: trunk/libmnetutil/source/IP4Address.cxx
===================================================================
--- trunk/libmnetutil/source/IP4Address.cxx 2007-06-11 13:30:21 UTC (rev 3297)
+++ trunk/libmnetutil/source/IP4Address.cxx 2007-06-11 13:31:33 UTC (rev 3298)
@@ -66,6 +66,32 @@
using namespace std;
+static std::string toStr(uint32_t numIp){
+ unsigned char ip[4];
+ ip[0] = (unsigned char)(numIp >> 24);
+ ip[1] = (unsigned char)(numIp >> 16);
+ ip[2] = (unsigned char)(numIp >> 8);
+ ip[3] = (unsigned char)(numIp);
+ std::string ret="(";
+ for (int32_t i=0; i<4; i++){
+ if (i>0)
+ ret=ret+".";
+ ret = ret + itoa( (unsigned)ip[i] );
+ }
+ ret = ret+")";
+ return ret;
+}
+
+std::ostream& operator<<(std::ostream& out, IP4Address &a){
+ return out<<toStr(a.numIp);
+}
+
+
+Dbg& operator<<(Dbg& out, IP4Address &a){
+ return out << toStr(a.numIp);
+}
+
+
IP4Address::IP4Address(struct sockaddr_in *sin){
sockaddress = new sockaddr_in;
type = IP_ADDRESS_TYPE_V4;
@@ -116,7 +142,7 @@
massert(hp->h_length==4);
#ifdef DEBUG_OUTPUT
- cerr << "IP4Address(string): " << *this << endl;
+ mdbg("net") << "IP4Address(string): " << *this << endl;
#endif
}
@@ -197,29 +223,6 @@
}
-std::ostream& operator<<(std::ostream& out, IP4Address &a){
- out << a.ipaddr;
-
- unsigned char ip[4];
- //uint32_t beIp = hton32(a.numIp);
- ip[0] = (unsigned char)(a.numIp >> 24);
- ip[1] = (unsigned char)(a.numIp >> 16);
- ip[2] = (unsigned char)(a.numIp >> 8);
- ip[3] = (unsigned char)(a.numIp);
- cerr << " (";
-
- for (int32_t i=0; i<4; i++){
- if (i>0)
- cerr << ".";
-
- cerr << (unsigned)ip[i];
-
- }
- cerr << ")";
-
- return out;
-}
-
bool IP4Address::operator ==(const IP4Address &i4) const{
return this->numIp == i4.numIp;
}
More information about the Minisip-devel
mailing list