remove implicit conversion from Address to Eui48Address, to Ipv4Address and to InetSocketAddress
--- a/src/devices/csma-cd/csma-cd-net-device.cc Mon Jul 30 14:20:10 2007 +0200
+++ b/src/devices/csma-cd/csma-cd-net-device.cc Mon Jul 30 14:57:49 2007 +0200
@@ -160,7 +160,7 @@
}
EthernetHeader header (false);
EthernetTrailer trailer;
- Eui48Address source = GetAddress ();
+ Eui48Address source = Eui48Address::ConvertFrom (GetAddress ());
header.SetSource(source);
header.SetDestination(dest);
@@ -201,10 +201,8 @@
trailer.CheckFcs(p);
p.RemoveHeader(header);
- Eui48Address broadcast = GetBroadcast ();
- Eui48Address destination = GetAddress ();
- if ((header.GetDestination() != broadcast) &&
- (header.GetDestination() != destination))
+ if ((header.GetDestination() != GetBroadcast ()) &&
+ (header.GetDestination() != GetAddress ()))
{
return false;
}
@@ -252,8 +250,8 @@
if (!IsSendEnabled())
return false;
- Eui48Address address = dest;
- AddHeader(p, address, protocolNumber);
+ Eui48Address destination = Eui48Address::ConvertFrom (dest);
+ AddHeader(p, destination, protocolNumber);
// Place the packet to be sent on the send queue
if (m_queue->Enqueue(p) == false )
--- a/src/internet-node/udp-socket.cc Mon Jul 30 14:20:10 2007 +0200
+++ b/src/internet-node/udp-socket.cc Mon Jul 30 14:57:49 2007 +0200
@@ -95,7 +95,7 @@
{
return ERROR_INVAL;
}
- InetSocketAddress transport = address;
+ InetSocketAddress transport = InetSocketAddress::ConvertFrom (address);
Ipv4Address ipv4 = transport.GetIpv4 ();
uint16_t port = transport.GetPort ();
if (ipv4 == Ipv4Address::GetAny () && port == 0)
@@ -151,7 +151,7 @@
ns3::Callback<void, Ptr<Socket> > connectionFailed,
ns3::Callback<void, Ptr<Socket> > halfClose)
{
- InetSocketAddress transport = address;
+ InetSocketAddress transport = InetSocketAddress::ConvertFrom (address);
m_defaultAddress = transport.GetIpv4 ();
m_defaultPort = transport.GetPort ();
if (!connectionSucceeded.IsNull ())
@@ -194,7 +194,7 @@
UdpSocket::DoSendPacketTo (const Packet &p, const Address &address,
ns3::Callback<void, Ptr<Socket>, uint32_t> dataSent)
{
- InetSocketAddress transport = address;
+ InetSocketAddress transport = InetSocketAddress::ConvertFrom (address);
Ipv4Address ipv4 = transport.GetIpv4 ();
uint16_t port = transport.GetPort ();
return DoSendPacketTo (p, ipv4, port, dataSent);
@@ -245,7 +245,7 @@
{
p = Packet (buffer, size);
}
- InetSocketAddress transport = address;
+ InetSocketAddress transport = InetSocketAddress::ConvertFrom (address);
Ipv4Address ipv4 = transport.GetIpv4 ();
uint16_t port = transport.GetPort ();
return DoSendPacketTo (p, ipv4, port, dataSent);
--- a/src/node/eui48-address.h Mon Jul 30 14:20:10 2007 +0200
+++ b/src/node/eui48-address.h Mon Jul 30 14:57:49 2007 +0200
@@ -45,11 +45,13 @@
operator Address ();
/**
* \param address a polymorphic address
- *
- * Convert a polymorphic address to an Eui48Address instance.
- * The conversion performs a type check.
+ * \returns a new Eui48Address from the polymorphic address
+ *
+ * This function performs a type check and asserts if the
+ * type of the input address is not compatible with an
+ * Eui48Address.
*/
- Eui48Address (const Address &address);
+ static Eui48Address ConvertFrom (const Address &address);
/**
* \returns true if the address matches, false otherwise.
*/
@@ -65,7 +67,6 @@
* Convert an instance of this class to a polymorphic Address instance.
*/
Address ConvertTo (void) const;
- static Eui48Address ConvertFrom (const Address &address);
static uint8_t GetType (void);
uint8_t m_address[6];
};
--- a/src/node/inet-socket-address.cc Mon Jul 30 14:20:10 2007 +0200
+++ b/src/node/inet-socket-address.cc Mon Jul 30 14:57:49 2007 +0200
@@ -56,11 +56,6 @@
return ConvertTo ();
}
-InetSocketAddress::InetSocketAddress (const Address &address)
-{
- *this = ConvertFrom (address);
-}
-
Address
InetSocketAddress::ConvertTo (void) const
{
--- a/src/node/inet-socket-address.h Mon Jul 30 14:20:10 2007 +0200
+++ b/src/node/inet-socket-address.h Mon Jul 30 14:57:49 2007 +0200
@@ -78,13 +78,13 @@
/**
* \param address the Address instance to convert from.
*
- * Construct an InetSocketAddress which corresponds to the input
+ * Returns an InetSocketAddress which corresponds to the input
* Address
*/
- InetSocketAddress (const Address &address);
+ static InetSocketAddress ConvertFrom (const Address &address);
private:
Address ConvertTo (void) const;
- static InetSocketAddress ConvertFrom (const Address &address);
+
static uint8_t GetType (void);
Ipv4Address m_ipv4;
uint16_t m_port;
--- a/src/node/ipv4-address.cc Mon Jul 30 14:20:10 2007 +0200
+++ b/src/node/ipv4-address.cc Mon Jul 30 14:57:49 2007 +0200
@@ -215,10 +215,6 @@
{
return ConvertTo ();
}
-Ipv4Address::Ipv4Address (const Address &address)
-{
- *this = ConvertFrom (address);
-}
Address
Ipv4Address::ConvertTo (void) const
--- a/src/node/ipv4-address.h Mon Jul 30 14:20:10 2007 +0200
+++ b/src/node/ipv4-address.h Mon Jul 30 14:57:49 2007 +0200
@@ -106,7 +106,7 @@
static bool IsMatchingType (const Address &address);
operator Address ();
- Ipv4Address (const Address &address);
+ static Ipv4Address ConvertFrom (const Address &address);
static Ipv4Address GetZero (void);
static Ipv4Address GetAny (void);
@@ -114,7 +114,6 @@
static Ipv4Address GetLoopback (void);
private:
Address ConvertTo (void) const;
- static Ipv4Address ConvertFrom (const Address &address);
static uint8_t GetType (void);
uint32_t m_address;
};