nlsr::update::CommandManagerBase Class Reference

#include <manager-base.hpp>

+ Inheritance diagram for nlsr::update::CommandManagerBase:
+ Collaboration diagram for nlsr::update::CommandManagerBase:

Public Member Functions

 CommandManagerBase (ndn::mgmt::Dispatcher &m_dispatcher, NamePrefixList &m_namePrefixList, Lsdb &lsdb, const std::string &module)
 
virtual ~CommandManagerBase ()=default
 
void advertiseAndInsertPrefix (const ndn::Name &prefix, const ndn::Interest &interest, const ndn::mgmt::ControlParameters &parameters, const ndn::mgmt::CommandContinuation &done)
 add desired name prefix to the advertised name prefix list or insert a prefix into the FIB if parameters is valid. More...
 
virtual std::optional< bool > afterAdvertise (const ndn::Name &prefix)
 save an advertised prefix to the nlsr configuration file returns bool from the overridden function while nullopt here More...
 
virtual std::optional< bool > afterWithdraw (const ndn::Name &prefix)
 save an advertised prefix to the nlsr configuration file returns bool from the overridden function while nullopt here More...
 
void withdrawAndRemovePrefix (const ndn::Name &prefix, const ndn::Interest &interest, const ndn::mgmt::ControlParameters &parameters, const ndn::mgmt::CommandContinuation &done)
 remove desired name prefix from the advertised name prefix list or remove a prefix from the FIB if parameters is valid. More...
 

Protected Member Functions

ndn::PartialName makeRelPrefix (const std::string &verb) const
 generate the relative prefix for a handler by appending the verb name to the module name More...
 
template<typename T >
bool validateParameters (const ndn::mgmt::ControlParameters &parameters)
 validate the parameters for a given command More...
 

Protected Attributes

ndn::mgmt::Dispatcher & m_dispatcher
 
Lsdbm_lsdb
 
NamePrefixListm_namePrefixList
 

Detailed Description

Definition at line 98 of file manager-base.hpp.

Constructor & Destructor Documentation

◆ CommandManagerBase()

nlsr::update::CommandManagerBase::CommandManagerBase ( ndn::mgmt::Dispatcher &  m_dispatcher,
NamePrefixList m_namePrefixList,
Lsdb lsdb,
const std::string &  module 
)

Definition at line 43 of file manager-base.cpp.

◆ ~CommandManagerBase()

virtual nlsr::update::CommandManagerBase::~CommandManagerBase ( )
virtualdefault

Member Function Documentation

◆ advertiseAndInsertPrefix()

void nlsr::update::CommandManagerBase::advertiseAndInsertPrefix ( const ndn::Name &  prefix,
const ndn::Interest &  interest,
const ndn::mgmt::ControlParameters &  parameters,
const ndn::mgmt::CommandContinuation &  done 
)

add desired name prefix to the advertised name prefix list or insert a prefix into the FIB if parameters is valid.

Definition at line 54 of file manager-base.cpp.

◆ afterAdvertise()

virtual std::optional<bool> nlsr::update::CommandManagerBase::afterAdvertise ( const ndn::Name &  prefix)
inlinevirtual

save an advertised prefix to the nlsr configuration file returns bool from the overridden function while nullopt here

Reimplemented in nlsr::update::PrefixUpdateProcessor.

Definition at line 131 of file manager-base.hpp.

◆ afterWithdraw()

virtual std::optional<bool> nlsr::update::CommandManagerBase::afterWithdraw ( const ndn::Name &  prefix)
inlinevirtual

save an advertised prefix to the nlsr configuration file returns bool from the overridden function while nullopt here

Reimplemented in nlsr::update::PrefixUpdateProcessor.

Definition at line 140 of file manager-base.hpp.

◆ makeRelPrefix()

ndn::PartialName nlsr::update::ManagerBase::makeRelPrefix ( const std::string &  verb) const
protectedinherited

generate the relative prefix for a handler by appending the verb name to the module name

Definition at line 38 of file manager-base.cpp.

◆ validateParameters()

template<typename T >
bool nlsr::update::ManagerBase::validateParameters ( const ndn::mgmt::ControlParameters &  parameters)
inlineprotectedinherited

validate the parameters for a given command

Definition at line 72 of file manager-base.hpp.

◆ withdrawAndRemovePrefix()

void nlsr::update::CommandManagerBase::withdrawAndRemovePrefix ( const ndn::Name &  prefix,
const ndn::Interest &  interest,
const ndn::mgmt::ControlParameters &  parameters,
const ndn::mgmt::CommandContinuation &  done 
)

remove desired name prefix from the advertised name prefix list or remove a prefix from the FIB if parameters is valid.

Definition at line 96 of file manager-base.cpp.

Member Data Documentation

◆ m_dispatcher

ndn::mgmt::Dispatcher& nlsr::update::ManagerBase::m_dispatcher
protectedinherited

Definition at line 92 of file manager-base.hpp.

◆ m_lsdb

Lsdb& nlsr::update::CommandManagerBase::m_lsdb
protected

Definition at line 147 of file manager-base.hpp.

◆ m_namePrefixList

NamePrefixList& nlsr::update::CommandManagerBase::m_namePrefixList
protected

Definition at line 146 of file manager-base.hpp.