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::ControlParametersBase &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::ControlParametersBase &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...
 

Static Protected Member Functions

template<typename Command >
static bool validateParameters (const ndn::mgmt::ControlParametersBase &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 92 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::ControlParametersBase &  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 125 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 134 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 Command >
static bool nlsr::update::ManagerBase::validateParameters ( const ndn::mgmt::ControlParametersBase &  parameters)
inlinestaticprotectedinherited

Validate the parameters for a given command.

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

◆ withdrawAndRemovePrefix()

void nlsr::update::CommandManagerBase::withdrawAndRemovePrefix ( const ndn::Name &  prefix,
const ndn::Interest &  interest,
const ndn::mgmt::ControlParametersBase &  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 95 of file manager-base.cpp.

Member Data Documentation

◆ m_dispatcher

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

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

◆ m_lsdb

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

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

◆ m_namePrefixList

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

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