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

#include <ConfigAddress.h>

Inheritance diagram for net::l2::config::ConfigAddress< ConfigAddressTypeT >:
Collaboration diagram for net::l2::config::ConfigAddress< ConfigAddressTypeT >:

Public Member Functions

ConfigAddresssetSocketAddress (const SocketAddress &socketAddress)
 
ConfigAddresssetBtAddress (const std::string &btAddress)
 
std::string getBtAddress () const
 
ConfigAddresssetPsm (uint16_t psm)
 
uint16_t getPsm () const
 

Protected Member Functions

 ConfigAddress (net::config::ConfigInstance *instance, const std::string &addressOptionName, const std::string &addressOptionDescription)
 
ConfigAddresssetBtAddressRequired (bool required=true)
 
ConfigAddresssetPsmRequired (bool required=true)
 

Protected Attributes

CLI::Option * btAddressOpt = nullptr
 
CLI::Option * psmOpt = nullptr
 

Private Types

using Super = ConfigAddressTypeT<net::l2::SocketAddress>
 

Private Member Functions

SocketAddressinit () final
 

Detailed Description

template<template< typename SocketAddressT > typename ConfigAddressTypeT>
class net::l2::config::ConfigAddress< ConfigAddressTypeT >

Definition at line 77 of file ConfigAddress.h.

Member Typedef Documentation

◆ Super

template<template< typename SocketAddressT > typename ConfigAddressTypeT>
using net::l2::config::ConfigAddress< ConfigAddressTypeT >::Super = ConfigAddressTypeT<net::l2::SocketAddress>
private

Definition at line 79 of file ConfigAddress.h.

Constructor & Destructor Documentation

◆ ConfigAddress()

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

Definition at line 59 of file ConfigAddress.cpp.

62 : Super(instance, addressOptionName, addressOptionDescription) {
63 btAddressOpt = Super::addOption( //
64 "--host",
65 "Bluetooth address",
66 "xx:xx:xx:xx:xx:xx",
67 "00:00:00:00:00:00",
68 CLI::TypeValidator<std::string>());
69 psmOpt = Super::addOption( //
70 "--psm",
71 "Protocol service multiplexer",
72 "psm");
73 }
ConfigAddressTypeT< net::l2::SocketAddress > Super

Member Function Documentation

◆ getBtAddress()

template<template< typename SocketAddress > typename ConfigAddressType>
std::string net::l2::config::ConfigAddress< ConfigAddressType >::getBtAddress ( ) const

Definition at line 104 of file ConfigAddress.cpp.

104 {
105 return btAddressOpt->as<std::string>();
106 }

◆ getPsm()

template<template< typename SocketAddress > typename ConfigAddressType>
uint16_t net::l2::config::ConfigAddress< ConfigAddressType >::getPsm ( ) const

Definition at line 121 of file ConfigAddress.cpp.

121 {
122 return psmOpt->as<uint16_t>();
123 }

◆ init()

template<template< typename SocketAddress > typename ConfigAddressType>
SocketAddress * net::l2::config::ConfigAddress< ConfigAddressType >::init ( )
finalprivate

Definition at line 76 of file ConfigAddress.cpp.

76 {
77 SocketAddress* socketAddress = new SocketAddress(btAddressOpt->as<std::string>(), psmOpt->as<uint16_t>());
78 socketAddress->init();
79
80 return socketAddress;
81 }
SocketClient::SocketAddress SocketAddress

◆ setBtAddress()

template<template< typename SocketAddress > typename ConfigAddressType>
ConfigAddress< ConfigAddressType > & net::l2::config::ConfigAddress< ConfigAddressType >::setBtAddress ( const std::string & btAddress)

Definition at line 92 of file ConfigAddress.cpp.

92 {
93 const utils::PreserveErrno preserveErrno;
94
96 ->default_val(btAddress)
97 ->clear();
98 Super::required(btAddressOpt, false);
99
100 return *this;
101 }

◆ setBtAddressRequired()

template<template< typename SocketAddress > typename ConfigAddressType>
ConfigAddress< ConfigAddressType > & net::l2::config::ConfigAddress< ConfigAddressType >::setBtAddressRequired ( bool required = true)
protected

Definition at line 126 of file ConfigAddress.cpp.

126 {
127 Super::required(btAddressOpt, required);
128
129 return *this;
130 }

◆ setPsm()

template<template< typename SocketAddress > typename ConfigAddressType>
ConfigAddress< ConfigAddressType > & net::l2::config::ConfigAddress< ConfigAddressType >::setPsm ( uint16_t psm)

Definition at line 109 of file ConfigAddress.cpp.

109 {
110 const utils::PreserveErrno preserveErrno;
111
112 psmOpt //
113 ->default_val(psm)
114 ->clear();
115 Super::required(psmOpt, false);
116
117 return *this;
118 }

◆ setPsmRequired()

template<template< typename SocketAddress > typename ConfigAddressType>
ConfigAddress< ConfigAddressType > & net::l2::config::ConfigAddress< ConfigAddressType >::setPsmRequired ( bool required = true)
protected

Definition at line 133 of file ConfigAddress.cpp.

133 {
134 Super::required(psmOpt, required);
135
136 return *this;
137 }

◆ setSocketAddress()

template<template< typename SocketAddress > typename ConfigAddressType>
ConfigAddress< ConfigAddressType > & net::l2::config::ConfigAddress< ConfigAddressType >::setSocketAddress ( const SocketAddress & socketAddress)

Definition at line 84 of file ConfigAddress.cpp.

84 {
85 setBtAddress(socketAddress.getBtAddress());
86 setPsm(socketAddress.getPsm());
87
88 return *this;
89 }
ConfigAddress & setPsm(uint16_t psm)
ConfigAddress & setBtAddress(const std::string &btAddress)

Member Data Documentation

◆ btAddressOpt

template<template< typename SocketAddressT > typename ConfigAddressTypeT>
CLI::Option* net::l2::config::ConfigAddress< ConfigAddressTypeT >::btAddressOpt = nullptr
protected

Definition at line 102 of file ConfigAddress.h.

◆ psmOpt

template<template< typename SocketAddressT > typename ConfigAddressTypeT>
CLI::Option* net::l2::config::ConfigAddress< ConfigAddressTypeT >::psmOpt = nullptr
protected

Definition at line 103 of file ConfigAddress.h.


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