33  boost::upgrade_lock<boost::shared_mutex> uplck(itsParamMtx);
 
   34  if (itsParameterList.find(param->
name()) != itsParameterList.end())
 
   35    LFATAL(
"Duplicate Parameter Name: " << param->
name());
 
   37  boost::upgrade_to_unique_lock<boost::shared_mutex> ulck(uplck);
 
   38  itsParameterList[param->
name()] = param;
 
   40  LDEBUG(
"Added Parameter [" << param->
name() << 
']');
 
 
   48  boost::upgrade_lock<boost::shared_mutex> uplck(itsParamMtx);
 
   49  auto itr = itsParameterList.find(param->
name());
 
   51  if (itr == itsParameterList.end())
 
   52    LERROR(
"Parameter " << param->
name() << 
" not owned by this component -- NOT REMOVED");
 
   55    boost::upgrade_to_unique_lock<boost::shared_mutex> ulck(uplck);
 
   56    itsParameterList.erase(itr);
 
   59  LDEBUG(
"Removed Parameter [" << param->
name() << 
']');
 
 
   67  boost::shared_lock<boost::shared_mutex> _(itsParamMtx);
 
   69  for (
auto const & pl : itsParameterList) pl.second->callbackInitCall();
 
 
Base class for Parameter.
 
virtual std::string const & name() const =0
Get the parameter name.
 
virtual ~ParameterRegistry()
Virtual destructor for safe inheritance.
 
void callbackInitCall()
For all parameters that have a callback which has never been called, call it with the default param v...
 
void removeParameter(ParameterBase *const param)
The Parameter class uses this method to un-register itself on destruction with its owning Component.
 
void addParameter(ParameterBase *const param)
The Parameter class uses this method to register itself on construction with its owning Component.
 
#define LFATAL(msg)
Convenience macro for users to print out console or syslog messages, FATAL level.
 
#define LDEBUG(msg)
Convenience macro for users to print out console or syslog messages, DEBUG level.
 
#define JEVOIS_TRACE(level)
Trace object.
 
#define LERROR(msg)
Convenience macro for users to print out console or syslog messages, ERROR level.