RTC::ConfigAdmin Class Reference

ConfigAdmin class. More...

#include <ConfigAdmin.h>

List of all members.

Classes

struct  find_conf

Public Member Functions

 ConfigAdmin (coil::Properties &prop)
 Constructor.
 ~ConfigAdmin (void)
 Virtual Destructor.
template<typename VarType >
bool bindParameter (const char *param_name, VarType &var, const char *def_val, bool(*trans)(VarType &, const char *)=coil::stringTo)
 Setup for configuration parameters.
void update (void)
 Update the values of configuration parameters (Active configuration set).
void update (const char *config_set)
 Update configuration parameter (By ID).
void update (const char *config_set, const char *config_param)
 Update the values of configuration parameters (By name).
bool isExist (const char *name)
 Check the existence of configuration parameters.
bool isChanged (void)
 Confirm to change configuration parameters.
const char * getActiveId (void)
 Get ID of active configuration set.
bool haveConfig (const char *config_id)
 Check the existence of configuration set.
bool isActive (void)
 Confirm to activate configuration set.
const std::vector
< coil::Properties * > & 
getConfigurationSets (void)
 Get all configuration sets.
const coil::PropertiesgetConfigurationSet (const char *config_id)
 Get a configuration set by specified ID.
bool setConfigurationSetValues (const coil::Properties &configuration_set)
 Add to configuration set from specified property.
const coil::PropertiesgetActiveConfigurationSet (void)
 Get the active configuration set.
bool addConfigurationSet (const coil::Properties &configuration_set)
 Add the configuration value to configuration set.
bool removeConfigurationSet (const char *config_id)
 Remove the configuration set.
bool activateConfigurationSet (const char *config_id)
 Activate the configuration set.
void setOnUpdate (OnUpdateCallback *cb)
 Set callback that is called by OnUpdate.
void setOnUpdateParam (OnUpdateParamCallback *cb)
 Set callback that is called by OnUpdateParam.
void setOnSetConfigurationSet (OnSetConfigurationSetCallback *cb)
 Set callback that is called by OnSetConfiguration.
void setOnAddConfigurationSet (OnAddConfigurationAddCallback *cb)
 Set callback that is called by OnSetConfiguration.
void setOnRemoveConfigurationSet (OnRemoveConfigurationSetCallback *cb)
 Set callback that is called by OnRemoveConfigurationSet.
void setOnActivateSet (OnActivateSetCallback *cb)
 Set callback that is called by OnActivateSet.

Protected Member Functions

void onUpdate (const char *config_set)
 When the configuration parameter is updated, it is called.
void onUpdateParam (const char *config_set, const char *config_param)
 When the configuration parameter is updated, it is called.
void onSetConfigurationSet (const coil::Properties &config_set)
 When the property is added to the configuration set, this function is called.
void onAddConfigurationSet (const coil::Properties &config_set)
 When a set value is added to the configuration set, this function is called.
void onRemoveConfigurationSet (const char *config_id)
 When the configuration set has been deleted, this function is called.
void onActivateSet (const char *config_id)
 When the configuration set is made active, this function is called.

Detailed Description

ConfigAdmin class.

Class to manage various configuration information. Now terms for this class are defined as follows.

The following two configuration informations are stored in this class.

  1. A list of configuration-set
  2. A list of configuration parameter variables

Basically, the purpose of this class is to set one of the configuration-set in the list of (1) into parameter variables of (2). Usually, configuration parameter variables manipulation is performed with two-phases of configuration-set setting and parameter variables setting.

The configuration-set manipulations are performed by the following functions.

Modification, addition, deletion, acquisition and activation of configuration-set are performed by these functions. In order to reflect configuration-set, which is manipulated by these functions, on parameter variables that are used from RTC activities, the following update() functions are used .

Callback functors can be given to hook configuration operation. Operations to be hooked are as follows.

Since:
0.4.0

Constructor & Destructor Documentation

RTC::ConfigAdmin::ConfigAdmin ( coil::Properties prop  ) 

Constructor.

Constructor

Parameters:
prop The target property name for setup
RTC::ConfigAdmin::~ConfigAdmin ( void   ) 

Virtual Destructor.

Virtual Destructor


Member Function Documentation

bool RTC::ConfigAdmin::activateConfigurationSet ( const char *  config_id  ) 

Activate the configuration set.

Activate the configuration set of specified ID Return empty configuration set, if a configuration set of specified ID doesn't exist.

Parameters:
config_id ID of the target configuration set for remove
Returns:
Activate result (Remove success:true、Remove failure:false)
bool RTC::ConfigAdmin::addConfigurationSet ( const coil::Properties configuration_set  ) 

Add the configuration value to configuration set.

Add the configuration value to configuration set

Parameters:
configuration_set Property to add
Returns:
Add Result (Successful:true, Failed:false)
template<typename VarType >
bool RTC::ConfigAdmin::bindParameter ( const char *  param_name,
VarType &  var,
const char *  def_val,
bool(*)(VarType &, const char *)  trans = coil::stringTo 
) [inline]

Setup for configuration parameters.

Bind configuration parameter to its variable. Return false, if configuration parameter of specified name has already existed. Specify the data type of the configuration as <VarType>.

Parameters:
param_name Configuration parameter name
var Configuration parameter variable
def_val Default value of configuration parameter
trans Function to transform configuration parameter type into string format
Returns:
Setup result (Successful:true, Failed:false)

Referenced by RTC::RTObject_impl::bindParameter().

const coil::Properties& RTC::ConfigAdmin::getActiveConfigurationSet ( void   ) 

Get the active configuration set.

Get the current active configuration set. Return empty configuration set, if an active configuration set doesn't exist.

Returns:
The active configuration set
const char* RTC::ConfigAdmin::getActiveId ( void   )  [inline]

Get ID of active configuration set.

Get ID of the current active configuration set.

Returns:
The active configuration set ID
const coil::Properties& RTC::ConfigAdmin::getConfigurationSet ( const char *  config_id  ) 

Get a configuration set by specified ID.

Get a configuration set that was specified by ID Return empty configuration set, if a configuration set of specified ID doesn't exist.

Parameters:
config_id ID of the target configuration set for getting
Returns:
The configuration set
const std::vector<coil::Properties*>& RTC::ConfigAdmin::getConfigurationSets ( void   ) 

Get all configuration sets.

Get all specified configuration sets

Returns:
All configuration sets
bool RTC::ConfigAdmin::haveConfig ( const char *  config_id  )  [inline]

Check the existence of configuration set.

Check the existence of specified configuration set.

Parameters:
config_id ID of target configuration set for confirmation
Returns:
Result of existence confirmation (Specified ConfigSet exists:true, else:false)
bool RTC::ConfigAdmin::isActive ( void   )  [inline]

Confirm to activate configuration set.

Confirm that configuration set has been activated.

Returns:
Result of state confirmation (Active state:true, Inactive state:false)
bool RTC::ConfigAdmin::isChanged ( void   )  [inline]

Confirm to change configuration parameters.

Confirm that configuration parameters have changed.

Returns:
Result of change confirmation (There is a change:true、No change:false)
bool RTC::ConfigAdmin::isExist ( const char *  name  ) 

Check the existence of configuration parameters.

Check the existence of configuration parameters of specified name.

Parameters:
name Configuration parameter name
Returns:
Result of existance confirmation (Parameters exist:true, else:false)
void RTC::ConfigAdmin::onActivateSet ( const char *  config_id  )  [protected]

When the configuration set is made active, this function is called.

Call the set callback object.

Parameters:
config_id property
void RTC::ConfigAdmin::onAddConfigurationSet ( const coil::Properties config_set  )  [protected]

When a set value is added to the configuration set, this function is called.

Call the set callback object.

Parameters:
configuration_set property
void RTC::ConfigAdmin::onRemoveConfigurationSet ( const char *  config_id  )  [protected]

When the configuration set has been deleted, this function is called.

Call the set callback object.

Parameters:
config_id property
void RTC::ConfigAdmin::onSetConfigurationSet ( const coil::Properties config_set  )  [protected]

When the property is added to the configuration set, this function is called.

Call the set callback object.

Parameters:
configuration_set property
void RTC::ConfigAdmin::onUpdate ( const char *  config_set  )  [protected]

When the configuration parameter is updated, it is called.

Call the set callback object.

Parameters:
config_set The target configuration set's ID to setup
void RTC::ConfigAdmin::onUpdateParam ( const char *  config_set,
const char *  config_param 
) [protected]

When the configuration parameter is updated, it is called.

Call the set callback object.

Parameters:
config_set configuration-set ID.
config_param configuration parameter name.
bool RTC::ConfigAdmin::removeConfigurationSet ( const char *  config_id  ) 

Remove the configuration set.

Remove the configuration set of specified ID Return empty configuration set, if a configuration set of specified ID doesn't exist.

The configuration-sets that can be removed by this function are only configuration-sets newly added by the addConfigurationSet() function. The configuration that can be removed by this function is only newly added configuration-set by addConfigurationSet() function. The "default" configuration-set and configurationi-sets that is loaded from configuration file cannot be removed.

If the specified configuration is active currently, any configurations are not deleted.

Callback functions that are set by addOnRemovedConfigurationSet() will be called if a configuration-set is deleted actually by this function.

Parameters:
config_id ID of the target configuration set for remove
Returns:
Remove result (Successful:true, Failed:false)
bool RTC::ConfigAdmin::setConfigurationSetValues ( const coil::Properties configuration_set  ) 

Add to configuration set from specified property.

Add specified property to configuration set that was specified by ID. Return false if configuration set, that matches specified ID, doesn't exist.

Parameters:
config_id ID of the target configuration set for add
configuration_set Property to add
Returns:
Add result (Successful:true, Failed:false)
void RTC::ConfigAdmin::setOnActivateSet ( OnActivateSetCallback cb  ) 

Set callback that is called by OnActivateSet.

Parameters:
cb OnActivateSetCallback type object
void RTC::ConfigAdmin::setOnAddConfigurationSet ( OnAddConfigurationAddCallback cb  ) 

Set callback that is called by OnSetConfiguration.

Parameters:
cb OnSetConfigurationSetCallback type object
void RTC::ConfigAdmin::setOnRemoveConfigurationSet ( OnRemoveConfigurationSetCallback cb  ) 

Set callback that is called by OnRemoveConfigurationSet.

Parameters:
cb OnRemoveConfigurationSetCallback type object
void RTC::ConfigAdmin::setOnSetConfigurationSet ( OnSetConfigurationSetCallback cb  ) 

Set callback that is called by OnSetConfiguration.

Parameters:
cb OnSetConfigurationSetCallback type object
void RTC::ConfigAdmin::setOnUpdate ( OnUpdateCallback cb  ) 

Set callback that is called by OnUpdate.

Parameters:
cb OnUpdateCallback type object
void RTC::ConfigAdmin::setOnUpdateParam ( OnUpdateParamCallback cb  ) 

Set callback that is called by OnUpdateParam.

Parameters:
cb OnUpdateParamCallback type object
void RTC::ConfigAdmin::update ( const char *  config_set,
const char *  config_param 
)

Update the values of configuration parameters (By name).

This operation updates a configuration variable by the specified configuration parameter in the configuration-set. This operation does not change current active configuration-set. Since this operation causes inconsistency between current active configuration set and actual values of configuration variables, user should carefully use it.

This operation ends without doing anything, if the configuration-set or the configuration parameter do not exist.

Parameters:
config_set configuration-set ID.
config_param configuration parameter name.
void RTC::ConfigAdmin::update ( const char *  config_set  ) 

Update configuration parameter (By ID).

This operation updates configuration variables by the configuration-set with specified ID. This operation does not change current active configuration-set. Since this operation causes inconsistency between current active configuration set and actual values of configuration variables, user should carefully use it.

This operation ends without doing anything, if the configuration-set does not exist.

Parameters:
config_set The target configuration set's ID to setup
void RTC::ConfigAdmin::update ( void   ) 

Update the values of configuration parameters (Active configuration set).

When configuration set is updated, update the configuration parameter value to the value that is set to the current active configuration. This update will be executed, only when an active configuration set exists and the content of the configuration set has been updated from the last update.

Generated on Thu Jan 5 18:02:09 2012 for OpenRTM by  doxygen 1.6.3