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