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

#include <ConfigAddress.h>

Inheritance diagram for net::in6::config::ConfigAddressReverse< ConfigAddressTypeT >:
Collaboration diagram for net::in6::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::in6::config::ConfigAddressReverse< ConfigAddressTypeT >

Definition at line 70 of file ConfigAddress.h.

Member Typedef Documentation

◆ Super

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

Definition at line 72 of file ConfigAddress.h.

Constructor & Destructor Documentation

◆ ConfigAddressReverse()

template<template< typename SocketAddress > typename ConfigAddressType>
net::in6::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",
71 "Suppress reverse host name lookup",
72 "bool",
73 XSTR(IN6_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::in6::config::ConfigAddressReverse< ConfigAddressType >::getNumericReverse ( ) const

Definition at line 104 of file ConfigAddress.cpp.

104 {
105 return numericReverseOpt->as<bool>();
106 }

◆ getSocketAddress()

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

Definition at line 78 of file ConfigAddress.cpp.

79 {
80 SocketAddress socketAddress;
81 try {
82 socketAddress = SocketAddress(sockAddr, sockAddrLen, numericReverseOpt->as<bool>());
83 } catch ([[maybe_unused]] const SocketAddress::BadSocketAddress& badSocketAddress) {
84 try {
85 socketAddress = Super::getSocketAddress(sockAddr, sockAddrLen);
86 } catch ([[maybe_unused]] const SocketAddress::BadSocketAddress& badSocketAddress) {
87 throw;
88 }
89 }
90
91 return socketAddress;
92 }
SocketClient::SocketAddress SocketAddress

◆ setNumericReverse()

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

Definition at line 95 of file ConfigAddress.cpp.

95 {
97 ->default_str(numeric ? "true" : "false")
98 ->clear();
99
100 return *this;
101 }

Member Data Documentation

◆ numericReverseOpt

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

Definition at line 86 of file ConfigAddress.h.


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