OpenDDS  Snapshot(2023/04/28-20:55)
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes | List of all members
OpenDDS::DCPS::LogAddr Class Reference

#include <LogAddr.h>

Collaboration diagram for OpenDDS::DCPS::LogAddr:
Collaboration graph
[legend]

Public Types

enum  Option {
  Ip, Port, Host, IpPort,
  HostPort, IpPortHost
}
 

Public Member Functions

 LogAddr (const ACE_INET_Addr &addr, Option opt=IpPort)
 
 LogAddr (const NetworkAddress &addr, Option opt=IpPort)
 
const Stringstr () const
 
const char * c_str () const
 

Static Public Member Functions

static const String ip (const ACE_INET_Addr &addr)
 
static const String port (const ACE_INET_Addr &addr)
 
static const String host (const ACE_INET_Addr &addr)
 

Static Public Attributes

static const size_t BufSize = AddrToStringSize
 

Private Member Functions

void init_addr (const ACE_INET_Addr &addr, Option opt)
 

Private Attributes

String addr_
 

Detailed Description

Definition at line 19 of file LogAddr.h.

Member Enumeration Documentation

◆ Option

Constructor & Destructor Documentation

◆ LogAddr() [1/2]

OpenDDS::DCPS::LogAddr::LogAddr ( const ACE_INET_Addr addr,
Option  opt = IpPort 
)
explicit

Definition at line 36 of file LogAddr.cpp.

References init_addr().

37 {
38  init_addr(addr, opt);
39 }
void init_addr(const ACE_INET_Addr &addr, Option opt)
Definition: LogAddr.cpp:46

◆ LogAddr() [2/2]

OpenDDS::DCPS::LogAddr::LogAddr ( const NetworkAddress addr,
Option  opt = IpPort 
)
explicit

Definition at line 41 of file LogAddr.cpp.

References init_addr(), and OpenDDS::DCPS::NetworkAddress::to_addr().

42 {
43  init_addr(addr.to_addr(), opt);
44 }
void init_addr(const ACE_INET_Addr &addr, Option opt)
Definition: LogAddr.cpp:46

Member Function Documentation

◆ c_str()

const char* OpenDDS::DCPS::LogAddr::c_str ( void  ) const
inline

◆ host()

const String OpenDDS::DCPS::LogAddr::host ( const ACE_INET_Addr addr)
static

Definition at line 26 of file LogAddr.cpp.

References ACE_ERROR, BufSize, ACE_INET_Addr::get_host_name(), LM_WARNING, OpenDDS::DCPS::log_level, and OpenDDS::DCPS::LogLevel::Warning.

Referenced by OpenDDS::DCPS::choose_single_coherent_address(), and init_addr().

27 {
28  char s[BufSize] = {'\0'};
29  if (addr.get_host_name(s, BufSize) < 0 && log_level >= LogLevel::Warning) {
30  ACE_ERROR((LM_WARNING, "(%P|%t) WARNING: LogAddr::host: "
31  "could not get hostname: %m\n"));
32  }
33  return String(s);
34 }
#define ACE_ERROR(X)
std::string String
int get_host_name(char hostname[], size_t hostnamelen) const
static const size_t BufSize
Definition: LogAddr.h:23
OpenDDS_Dcps_Export LogLevel log_level

◆ init_addr()

void OpenDDS::DCPS::LogAddr::init_addr ( const ACE_INET_Addr addr,
Option  opt 
)
private

Definition at line 46 of file LogAddr.cpp.

References addr_, Host, host(), HostPort, Ip, ip(), IpPort, IpPortHost, OPENDDS_END_VERSIONED_NAMESPACE_DECL, Port, and port().

Referenced by LogAddr().

47 {
48  switch (opt) {
49  case IpPort:
50  addr_ = ip(addr) + ':' + port(addr);
51  break;
52  case HostPort:
53  addr_ = host(addr) + ':' + port(addr);
54  break;
55  case Ip:
56  addr_ = ip(addr);
57  break;
58  case Port:
59  addr_ = port(addr);
60  break;
61  case Host:
62  addr_ = host(addr);
63  break;
64  case IpPortHost:
65  addr_ = ip(addr) + ':' + port(addr) + " (" + host(addr) + ')';
66  default:
67  break;
68  }
69 }
static const String port(const ACE_INET_Addr &addr)
Definition: LogAddr.cpp:21
static const String host(const ACE_INET_Addr &addr)
Definition: LogAddr.cpp:26
static const String ip(const ACE_INET_Addr &addr)
Definition: LogAddr.cpp:15

◆ ip()

const String OpenDDS::DCPS::LogAddr::ip ( const ACE_INET_Addr addr)
static

◆ port()

const String OpenDDS::DCPS::LogAddr::port ( const ACE_INET_Addr addr)
static

Definition at line 21 of file LogAddr.cpp.

References ACE_INET_Addr::get_port_number(), and OpenDDS::DCPS::to_dds_string().

Referenced by init_addr().

22 {
23  return to_dds_string(addr.get_port_number());
24 }
String to_dds_string(unsigned short to_convert)
u_short get_port_number(void) const

◆ str()

const String& OpenDDS::DCPS::LogAddr::str ( ) const
inline

Member Data Documentation

◆ addr_

String OpenDDS::DCPS::LogAddr::addr_
private

Definition at line 37 of file LogAddr.h.

Referenced by init_addr().

◆ BufSize

const size_t OpenDDS::DCPS::LogAddr::BufSize = AddrToStringSize
static

Definition at line 23 of file LogAddr.h.

Referenced by host(), and ip().


The documentation for this class was generated from the following files: