SNode.C
Loading...
Searching...
No Matches
net::in::config::ConfigAddressReverse< ConfigAddressTypeT > Class Template Reference

#include <ConfigAddress.h>

Inheritance diagram for net::in::config::ConfigAddressReverse< ConfigAddressTypeT >:
Collaboration diagram for net::in::config::ConfigAddressReverse< ConfigAddressTypeT >:

Public Member Functions

SocketAddress getSocketAddress (const SocketAddress::SockAddr &sockAddr, SocketAddress::SockLen sockAddrLen)
 
ConfigAddressReversesetNumericReverse (bool numeric=true)
 
bool getNumericReverse () const
 

Protected Member Functions

 ConfigAddressReverse (net::config::ConfigInstance *instance, const std::string &addressOptionName, const std::string &addressOptionDescription)
 

Private Types

using Super = ConfigAddressTypeT<SocketAddress>
 

Private Attributes

CLI::Option * numericReverseOpt = nullptr
 

Detailed Description

template<template< typename SocketAddressT > typename ConfigAddressTypeT>
class net::in::config::ConfigAddressReverse< ConfigAddressTypeT >

Definition at line 68 of file ConfigAddress.h.

Member Typedef Documentation

◆ Super

template<template< typename SocketAddressT > typename ConfigAddressTypeT>
using net::in::config::ConfigAddressReverse< ConfigAddressTypeT >::Super = ConfigAddressTypeT<SocketAddress>
private

Definition at line 70 of file ConfigAddress.h.

Constructor & Destructor Documentation

◆ ConfigAddressReverse()

template<template< typename SocketAddress > typename ConfigAddressType>
net::in::config::ConfigAddressReverse< ConfigAddressType >::ConfigAddressReverse ( net::config::ConfigInstance * instance,
const std::string & addressOptionName,
const std::string & addressOptionDescription )
explicitprotected

Definition at line 65 of file ConfigAddress.cpp.

68 : Super(instance, addressOptionName, addressOptionDescription) {
69 numericReverseOpt = Super::addFlag( //
70 "--numeric-reverse{true}",
71 "Suppress reverse host name lookup",
72 "bool",
73 XSTR(IN_NUMERIC_REVERSE),
74 CLI::IsMember({"true", "false"}));
75 }
#define XSTR(s)
ConfigAddressTypeT< SocketAddress > Super

Member Function Documentation

◆ getNumericReverse()

template<template< typename SocketAddress > typename ConfigAddressType>
bool net::in::config::ConfigAddressReverse< ConfigAddressType >::getNumericReverse ( ) const

Definition at line 87 of file ConfigAddress.cpp.

87 {
88 return numericReverseOpt->as<bool>();
89 }

◆ getSocketAddress()

template<template< typename SocketAddress > typename ConfigAddressType>
SocketAddress net::in::config::ConfigAddressReverse< ConfigAddressType >::getSocketAddress ( const SocketAddress::SockAddr & sockAddr,
SocketAddress::SockLen sockAddrLen )

Definition at line 92 of file ConfigAddress.cpp.

93 {
94 SocketAddress socketAddress;
95 try {
96 socketAddress = SocketAddress(sockAddr, sockAddrLen, numericReverseOpt->as<bool>());
97 } catch ([[maybe_unused]] const SocketAddress::BadSocketAddress& badSocketAddress) {
98 try {
99 socketAddress = Super::getSocketAddress(sockAddr, sockAddrLen);
100 } catch ([[maybe_unused]] const SocketAddress::BadSocketAddress& badSocketAddress) {
101 throw;
102 }
103 }
104
105 return socketAddress;
106 }
SocketClient::SocketAddress SocketAddress

◆ setNumericReverse()

template<template< typename SocketAddress > typename ConfigAddressType>
ConfigAddressReverse< ConfigAddressType > & net::in::config::ConfigAddressReverse< ConfigAddressType >::setNumericReverse ( bool numeric = true)

Definition at line 78 of file ConfigAddress.cpp.

78 {
80 ->default_str(numeric ? "true" : "false")
81 ->clear();
82
83 return *this;
84 }

Member Data Documentation

◆ numericReverseOpt

template<template< typename SocketAddressT > typename ConfigAddressTypeT>
CLI::Option* net::in::config::ConfigAddressReverse< ConfigAddressTypeT >::numericReverseOpt = nullptr
private

Definition at line 84 of file ConfigAddress.h.


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