37 #ifndef RTPIPV4ADDRESS_H
39 #define RTPIPV4ADDRESS_H
41 #include "rtpconfig.h"
48 class RTPMemoryManager;
60 RTPIPv4Address(uint32_t ip = 0, uint16_t port = 0):
RTPAddress(IPv4Address) { RTPIPv4Address::ip = ip; RTPIPv4Address::port = port; }
63 RTPIPv4Address(
const uint8_t ip[4],uint16_t port = 0):
RTPAddress(IPv4Address) { RTPIPv4Address::ip = (uint32_t)ip[3]; RTPIPv4Address::ip |= (((uint32_t)ip[2])<<8); RTPIPv4Address::ip |= (((uint32_t)ip[1])<<16); RTPIPv4Address::ip |= (((uint32_t)ip[0])<<24); RTPIPv4Address::port = port; }
67 void SetIP(uint32_t ip) { RTPIPv4Address::ip = ip; }
70 void SetIP(
const uint8_t ip[4]) { RTPIPv4Address::ip = (uint32_t)ip[3]; RTPIPv4Address::ip |= (((uint32_t)ip[2])<<8); RTPIPv4Address::ip |= (((uint32_t)ip[1])<<16); RTPIPv4Address::ip |= (((uint32_t)ip[0])<<24); }
73 void SetPort(uint16_t port) { RTPIPv4Address::port = port; }
76 uint32_t
GetIP()
const {
return ip; }
82 bool IsSameAddress(
const RTPAddress *addr)
const;
83 bool IsFromSameHost(
const RTPAddress *addr)
const;
85 std::string GetAddressString()
const;
94 #endif // RTPIPV4ADDRESS_H
void SetIP(uint32_t ip)
Sets the IP address for this instance to ip which is assumed to be in host byte order.
Definition: rtpipv4address.h:67
uint16_t GetPort() const
Returns the port number of this instance in host byte order.
Definition: rtpipv4address.h:79
RTPIPv4Address(uint32_t ip=0, uint16_t port=0)
Creates an instance with IP address ip and port number port (both are interpreted in host byte order)...
Definition: rtpipv4address.h:60
RTPIPv4Address(const uint8_t ip[4], uint16_t port=0)
Creates an instance with IP address ip and port number port (port is interpreted in host byte order)...
Definition: rtpipv4address.h:63
This class is an abstract class which is used to specify destinations, multicast groups etc...
Definition: rtpaddress.h:50
uint32_t GetIP() const
Returns the IP address contained in this instance in host byte order.
Definition: rtpipv4address.h:76
Represents an IPv4 IP address and port.
Definition: rtpipv4address.h:56
A memory manager.
Definition: rtpmemorymanager.h:147
void SetPort(uint16_t port)
Sets the port number for this instance to port which is interpreted in host byte order.
Definition: rtpipv4address.h:73
void SetIP(const uint8_t ip[4])
Sets the IP address of this instance to ip.
Definition: rtpipv4address.h:70