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 46 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 48 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 43 of file ConfigAddress.cpp.

46 : Super(instance, addressOptionName, addressOptionDescription) {
47 numericReverseOpt = Super::addFlag( //
48 "--numeric-reverse{true}",
49 "Suppress reverse host name lookup",
50 "bool",
51 XSTR(IPV4_NUMERIC_REVERSE),
52 CLI::IsMember({"true", "false"}));
53 }
#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 65 of file ConfigAddress.cpp.

65 {
66 return numericReverseOpt->as<bool>();
67 }

◆ getSocketAddress()

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

Definition at line 70 of file ConfigAddress.cpp.

71 {
72 SocketAddress socketAddress;
73 try {
74 socketAddress = SocketAddress(sockAddr, sockAddrLen, numericReverseOpt->as<bool>());
75 } catch ([[maybe_unused]] const SocketAddress::BadSocketAddress& badSocketAddress) {
76 try {
77 socketAddress = Super::getSocketAddress(sockAddr, sockAddrLen);
78 } catch ([[maybe_unused]] const SocketAddress::BadSocketAddress& badSocketAddress) {
79 throw;
80 }
81 }
82
83 return socketAddress;
84 }
SocketClient::SocketAddress SocketAddress

◆ setNumericReverse()

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

Definition at line 56 of file ConfigAddress.cpp.

56 {
58 ->default_str(numeric ? "true" : "false")
59 ->clear();
60
61 return *this;
62 }

Member Data Documentation

◆ numericReverseOpt

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

Definition at line 62 of file ConfigAddress.h.


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