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 55 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 57 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 37 of file ConfigAddress.cpp.

40 : Super(instance, addressOptionName, addressOptionDescription) {
41 btAddressOpt = Super::addOption( //
42 "--host",
43 "Bluetooth address",
44 "xx:xx:xx:xx:xx:xx",
45 "00:00:00:00:00:00",
46 CLI::TypeValidator<std::string>());
47 psmOpt = Super::addOption( //
48 "--psm",
49 "Protocol service multiplexer",
50 "psm");
51 }
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 82 of file ConfigAddress.cpp.

82 {
83 return btAddressOpt->as<std::string>();
84 }

◆ getPsm()

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

Definition at line 99 of file ConfigAddress.cpp.

99 {
100 return psmOpt->as<uint16_t>();
101 }

◆ init()

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

Definition at line 54 of file ConfigAddress.cpp.

54 {
55 SocketAddress* socketAddress = new SocketAddress(btAddressOpt->as<std::string>(), psmOpt->as<uint16_t>());
56 socketAddress->init();
57
58 return socketAddress;
59 }
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 70 of file ConfigAddress.cpp.

70 {
71 const utils::PreserveErrno preserveErrno;
72
74 ->default_val(btAddress)
75 ->clear();
76 Super::required(btAddressOpt, false);
77
78 return *this;
79 }

◆ setBtAddressRequired()

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

Definition at line 104 of file ConfigAddress.cpp.

104 {
105 Super::required(btAddressOpt, required);
106
107 return *this;
108 }

◆ setPsm()

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

Definition at line 87 of file ConfigAddress.cpp.

87 {
88 const utils::PreserveErrno preserveErrno;
89
90 psmOpt //
91 ->default_val(psm)
92 ->clear();
93 Super::required(psmOpt, false);
94
95 return *this;
96 }

◆ setPsmRequired()

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

Definition at line 111 of file ConfigAddress.cpp.

111 {
112 Super::required(psmOpt, required);
113
114 return *this;
115 }

◆ setSocketAddress()

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

Definition at line 62 of file ConfigAddress.cpp.

62 {
63 setBtAddress(socketAddress.getBtAddress());
64 setPsm(socketAddress.getPsm());
65
66 return *this;
67 }
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 80 of file ConfigAddress.h.

◆ psmOpt

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

Definition at line 81 of file ConfigAddress.h.


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