Configuration implementation class. More...
#include <SdoConfiguration.h>
Classes | |
struct | config_id |
Functor for ConfigurationSet. More... | |
struct | nv_name |
Functor for NVList. More... | |
struct | org_id |
Functor for Organization. More... | |
struct | service_id |
Functor for ServiceProfile. More... | |
Public Member Functions | |
Configuration_impl (RTC::ConfigAdmin &configAdmin, RTC::SdoServiceAdmin &sdoServiceAdmin) | |
Constructor. | |
virtual | ~Configuration_impl (void) |
virtual CORBA::Boolean | set_device_profile (const DeviceProfile &dProfile) throw (CORBA::SystemException, InvalidParameter, NotAvailable, InternalError) |
[CORBA interface] Set DeviceProfile of SDO | |
virtual CORBA::Boolean | add_service_profile (const ServiceProfile &sProfile) throw (CORBA::SystemException, InvalidParameter, NotAvailable, InternalError) |
[CORBA interface] Set SDO's ServiceProfile | |
virtual CORBA::Boolean | add_organization (Organization_ptr org) throw (CORBA::SystemException, InvalidParameter, NotAvailable, InternalError) |
[CORBA interface] Add Organization | |
virtual CORBA::Boolean | remove_service_profile (const char *id) throw (CORBA::SystemException, InvalidParameter, NotAvailable, InternalError) |
[CORBA interface] Remove ServiceProfile | |
virtual CORBA::Boolean | remove_organization (const char *organization_id) throw (CORBA::SystemException, InvalidParameter, NotAvailable, InternalError) |
[CORBA interface] Remove the reference of Organization | |
virtual ParameterList * | get_configuration_parameters () throw (CORBA::SystemException, NotAvailable, InternalError) |
[CORBA interface] Get a list of configuration parameters | |
virtual NVList * | get_configuration_parameter_values () throw (CORBA::SystemException, NotAvailable, InternalError) |
[CORBA interface] Get a list of the value of configuration parameters | |
virtual CORBA::Any * | get_configuration_parameter_value (const char *name) throw (CORBA::SystemException, InvalidParameter, NotAvailable, InternalError) |
[CORBA interface] Get the value of configuration parameter | |
virtual CORBA::Boolean | set_configuration_parameter (const char *name, const CORBA::Any &value) throw (CORBA::SystemException, InvalidParameter, NotAvailable, InternalError) |
[CORBA interface] Modify the configuration parameter value | |
virtual ConfigurationSetList * | get_configuration_sets () throw (CORBA::SystemException, NotAvailable, InternalError) |
[CORBA interface] Get a list of ConfigurationSet | |
virtual ConfigurationSet * | get_configuration_set (const char *config_id) throw (CORBA::SystemException, NotAvailable, InternalError) |
[CORBA interface] Get a ConfigurationSet | |
virtual ConfigurationSet * | get_active_configuration_set () throw (CORBA::SystemException, NotAvailable, InternalError) |
[CORBA interface] Get active ConfigurationSet | |
virtual CORBA::Boolean | add_configuration_set (const ConfigurationSet &configuration_set) throw (CORBA::SystemException, InvalidParameter, NotAvailable, InternalError) |
[CORBA interface] Add ConfigurationSet | |
virtual CORBA::Boolean | set_configuration_set_values (const ConfigurationSet &configuration_set) throw (CORBA::SystemException, InvalidParameter, NotAvailable, InternalError) |
[CORBA interface] Set ConfigurationSet | |
virtual CORBA::Boolean | remove_configuration_set (const char *config_id) throw (CORBA::SystemException, InvalidParameter, NotAvailable, InternalError) |
[CORBA interface] Remove ConfigurationSet | |
virtual CORBA::Boolean | activate_configuration_set (const char *config_id) throw (CORBA::SystemException, InvalidParameter, NotAvailable, InternalError) |
[CORBA interface] Activate ConfigurationSet | |
Configuration_ptr | getObjRef () |
Get object reference. | |
const DeviceProfile | getDeviceProfile () |
Get the DeviceProfile of SDO. | |
const ServiceProfileList | getServiceProfiles () |
Get a list of ServiceProfile of SDO. | |
const ServiceProfile | getServiceProfile (const char *id) |
Get Service Profile of SDO. | |
const OrganizationList | getOrganizations () |
Get a list of Organization of SDO. | |
Protected Member Functions | |
const std::string | getUUID () const |
Generate UUID. | |
Protected Attributes | |
::RTC::Logger | rtclog |
Configuration_var | m_objref |
The reference to CORBA object. | |
DeviceProfile | m_deviceProfile |
SDO DeviceProfile with mutex lock. | |
Mutex | m_dprofile_mutex |
ServiceProfileList | m_serviceProfiles |
SDO ServiceProfileList with mutex lock. | |
Mutex | m_sprofile_mutex |
ParameterList | m_parameters |
SDO Parameter. | |
Mutex | m_params_mutex |
RTC::ConfigAdmin & | m_configsets |
SDO ConfigurationSetList with mutex lock. | |
Mutex | m_config_mutex |
RTC::SdoServiceAdmin & | m_sdoservice |
SDO Service admin object with mutex lock. | |
Mutex | m_sdoservice_mutex |
OrganizationList | m_organizations |
SDO OrganizationList with mutex lock. | |
Mutex | m_org_mutex |
Configuration implementation class.
Configuration interface provides operations to add or remove data specified in resource data model. These operations provide functions to change DeviceProfile, ServiceProfile, ConfigurationProfile, and Organization. This SDO specification does not address access control or security aspects.
Different configurations can be stored for simple and quick activation. Different predefined configurations are stored as different ConfigurationSets or configuration profile. A ConfigurationSet stores the value of all properties assigned for the particular configuration along with its unique id and description to identify and describe the configuration respectively. Operations in the configuration interface help manage these ConfigurationSets.
The following functions do processing to ParameterList.
The following functions do processing to active ConfigurationSet
The following functions do processing to ConfigurationSetList
SDOPackage::Configuration_impl::Configuration_impl | ( | RTC::ConfigAdmin & | configAdmin, | |
RTC::SdoServiceAdmin & | sdoServiceAdmin | |||
) |
Constructor.
Constructor
configAdmin | ConfigurationSetList |
virtual SDOPackage::Configuration_impl::~Configuration_impl | ( | void | ) | [virtual] |
Virtual destractor.
virtual CORBA::Boolean SDOPackage::Configuration_impl::activate_configuration_set | ( | const char * | config_id | ) | throw (CORBA::SystemException, InvalidParameter, NotAvailable, InternalError) [virtual] |
[CORBA interface] Activate ConfigurationSet
This operation activates one of the stored ConfigurationSets in the ConfigurationProfile. This operation activates the specified stored ConfigurationSets. This means that the configuration properties of the SDO are changed as the values of these properties specified in the stored ConfigurationSet. In other words, values of the specified ConfigurationSet are now copied to the active configuration.
config_id | Identifier of ConfigurationSet to be activated. |
SDONotExists | The target SDO does not exist.(This exception is mapped to CORBA standard system exception OBJECT_NOT_EXIST.) | |
InvalidParameter | The argument ("configID") is null or there is no configuration set with identifier specified by the argument. | |
NotAvailable | The target SDO is reachable but cannot respond. | |
InternalError | The target SDO cannot execute the operation completely due to some internal error. |
virtual CORBA::Boolean SDOPackage::Configuration_impl::add_configuration_set | ( | const ConfigurationSet & | configuration_set | ) | throw (CORBA::SystemException, InvalidParameter, NotAvailable, InternalError) [virtual] |
[CORBA interface] Add ConfigurationSet
This operation adds a ConfigurationSet to the ConfigurationProfile.
configuration_set | The ConfigurationSet that is added. |
SDONotExists | The target SDO does not exist.(This exception is mapped to CORBA standard system exception OBJECT_NOT_EXIST.) | |
InvalidParameter | The argument "configurationSet" is null, or one of the attributes defining "configurationSet" is invalid, or the specified identifier of the configuration set already exists. | |
NotAvailable | The target SDO is reachable but cannot respond. | |
InternalError | The target SDO cannot execute the operation completely due to some internal error. |
virtual CORBA::Boolean SDOPackage::Configuration_impl::add_organization | ( | Organization_ptr | org | ) | throw (CORBA::SystemException, InvalidParameter, NotAvailable, InternalError) [virtual] |
[CORBA interface] Add Organization
This operation adds reference of an Organization object.
org | Organization to be added. |
SDONotExists | The target SDO does not exist.(This exception is mapped to CORBA standard system exception OBJECT_NOT_EXIST.) | |
NotAvailable | The target SDO is reachable but cannot respond. | |
InvalidParameter | The argument “organization” is null. | |
InternalError | The target SDO cannot execute the operation completely due to some internal error. |
virtual CORBA::Boolean SDOPackage::Configuration_impl::add_service_profile | ( | const ServiceProfile & | sProfile | ) | throw (CORBA::SystemException, InvalidParameter, NotAvailable, InternalError) [virtual] |
[CORBA interface] Set SDO's ServiceProfile
This operation adds ServiceProfile to the target SDO that navigates this Configuration interface. If the id in argument ServiceProfile is null, new id is created and the ServiceProfile is stored. If the id is not null, the target SDO searches for ServiceProfile in it with the same id. It adds the ServiceProfile if not exist, or overwrites if exist.
sProfile | ServiceProfile to be added. |
SDONotExists | The target SDO does not exist.(This exception is mapped to CORBA standard system exception OBJECT_NOT_EXIST.) | |
NotAvailable | The target SDO is reachable but cannot respond. | |
InvalidParameter | The argument "sProfile" is null. | |
InternalError | The target SDO cannot execute the operation completely due to some internal error. |
virtual ConfigurationSet* SDOPackage::Configuration_impl::get_active_configuration_set | ( | ) | throw (CORBA::SystemException, NotAvailable, InternalError) [virtual] |
[CORBA interface] Get active ConfigurationSet
This operation returns the current active ConfigurationSet of an SDO (i.e., if the current configuration of the SDO was set using predefined configuration set). ConfigurationSet cannot be considered active if the:
Empty ConfigurationSet is returned in these cases.
virtual CORBA::Any* SDOPackage::Configuration_impl::get_configuration_parameter_value | ( | const char * | name | ) | throw (CORBA::SystemException, InvalidParameter, NotAvailable, InternalError) [virtual] |
[CORBA interface] Get the value of configuration parameter
This operation returns a value of parameter that is specified by argument "name."
name | Name of the parameter whose value is requested. |
SDONotExists | The target SDO does not exist.(This exception is mapped to CORBA standard system exception OBJECT_NOT_EXIST.) | |
InvalidParameter | The value of the argument "name" is empty String, or null, or the parameter that is specified by argument "name" does not exist. | |
NotAvailable | The target SDO is reachable but cannot respond. | |
InternalError | The target SDO cannot execute the operation completely due to some internal error. |
virtual NVList* SDOPackage::Configuration_impl::get_configuration_parameter_values | ( | ) | throw (CORBA::SystemException, NotAvailable, InternalError) [virtual] |
[CORBA interface] Get a list of the value of configuration parameters
This operation returns all configuration parameters and their values.
virtual ParameterList* SDOPackage::Configuration_impl::get_configuration_parameters | ( | ) | throw (CORBA::SystemException, NotAvailable, InternalError) [virtual] |
[CORBA interface] Get a list of configuration parameters
This operation returns a list of Parameters. An empty list is returned if the SDO does not have any configurable parameter.
virtual ConfigurationSet* SDOPackage::Configuration_impl::get_configuration_set | ( | const char * | config_id | ) | throw (CORBA::SystemException, NotAvailable, InternalError) [virtual] |
[CORBA interface] Get a ConfigurationSet
This operation returns the ConfigurationSet specified by the parameter configurationSetID.
config_id | Identifier of ConfigurationSet requested. |
SDONotExists | The target SDO does not exist.(This exception is mapped to CORBA standard system exception OBJECT_NOT_EXIST.) | |
InvalidParameter | The parameter 'config_id' is null or there are no ConfigurationSets stored with such id. | |
NotAvailable | The target SDO is reachable but cannot respond. | |
InternalError | The target SDO cannot execute the operation completely due to some internal error. |
virtual ConfigurationSetList* SDOPackage::Configuration_impl::get_configuration_sets | ( | ) | throw (CORBA::SystemException, NotAvailable, InternalError) [virtual] |
[CORBA interface] Get a list of ConfigurationSet
This operation returns a list of ConfigurationSets that the ConfigurationProfile has. An empty list is returned if the SDO does not have any ConfigurationSets. This operation returns a list of all ConfigurationSets of the SDO. If no predefined ConfigurationSets exist, then empty list is returned.
const DeviceProfile SDOPackage::Configuration_impl::getDeviceProfile | ( | ) |
Configuration_ptr SDOPackage::Configuration_impl::getObjRef | ( | ) |
Get object reference.
Get the target object reference.
const OrganizationList SDOPackage::Configuration_impl::getOrganizations | ( | ) |
const ServiceProfile SDOPackage::Configuration_impl::getServiceProfile | ( | const char * | id | ) |
const ServiceProfileList SDOPackage::Configuration_impl::getServiceProfiles | ( | ) |
const std::string SDOPackage::Configuration_impl::getUUID | ( | ) | const [protected] |
Generate UUID.
Generate UUID.
virtual CORBA::Boolean SDOPackage::Configuration_impl::remove_configuration_set | ( | const char * | config_id | ) | throw (CORBA::SystemException, InvalidParameter, NotAvailable, InternalError) [virtual] |
[CORBA interface] Remove ConfigurationSet
This operation removes a ConfigurationSet from the ConfigurationProfile.
config_id | The id of ConfigurationSet which is removed. |
SDONotExists | The target SDO does not exist.(This exception is mapped to CORBA standard system exception OBJECT_NOT_EXIST.) | |
InvalidParameter | The arguments "configurationSetID" is null, or the object specified by the argument "configurationSetID" does not exist. | |
NotAvailable | The target SDO is reachable but cannot respond. | |
InternalError | The target SDO cannot execute the operation completely due to some internal error. |
virtual CORBA::Boolean SDOPackage::Configuration_impl::remove_organization | ( | const char * | organization_id | ) | throw (CORBA::SystemException, InvalidParameter, NotAvailable, InternalError) [virtual] |
[CORBA interface] Remove the reference of Organization
This operation removes the reference of an Organization object.
organization_id | Unique id of the organization to be removed. |
SDONotExists | The target SDO does not exist.(This exception is mapped to CORBA standard system exception OBJECT_NOT_EXIST.) | |
InvalidParameter | The argument "organizationID" is null, or the object which is specified by argument "organizationID" does not exist. | |
NotAvailable | The target SDO is reachable but cannot respond. | |
InternalError | The target SDO cannot execute the operation completely due to some internal error. |
virtual CORBA::Boolean SDOPackage::Configuration_impl::remove_service_profile | ( | const char * | id | ) | throw (CORBA::SystemException, InvalidParameter, NotAvailable, InternalError) [virtual] |
[CORBA interface] Remove ServiceProfile
This operation removes ServiceProfile object to the SDO that has this Configuration interface. The ServiceProfile object to be removed is specified by argument.
id | serviceID of a ServiceProfile to be removed. |
SDONotExists | The target SDO does not exist.(This exception is mapped to CORBA standard system exception OBJECT_NOT_EXIST.) | |
InvalidParameter | The argument "sProfile" is null, or if the object that is specified by argument "sProfile" does not exist. | |
NotAvailable | The target SDO is reachable but cannot respond. | |
InternalError | The target SDO cannot execute the operation completely due to some internal error. |
virtual CORBA::Boolean SDOPackage::Configuration_impl::set_configuration_parameter | ( | const char * | name, | |
const CORBA::Any & | value | |||
) | throw (CORBA::SystemException, InvalidParameter, NotAvailable, InternalError) [virtual] |
[CORBA interface] Modify the configuration parameter value
This operation sets a parameter to a value that is specified by argument "value." The parameter to be modified is specified by argument " name."
name | The name of parameter to be modified. | |
value | New value of the specified parameter. |
SDONotExists | The target SDO does not exist.(This exception is mapped to CORBA standard system exception OBJECT_NOT_EXIST.) | |
InvalidParameter | The arguments ("name" and/or "value") is null, or the parameter that is specified by the argument "name" does not exist. | |
NotAvailable | The target SDO is reachable but cannot respond. | |
InternalError | The target SDO cannot execute the operation completely due to some internal error. |
virtual CORBA::Boolean SDOPackage::Configuration_impl::set_configuration_set_values | ( | const ConfigurationSet & | configuration_set | ) | throw (CORBA::SystemException, InvalidParameter, NotAvailable, InternalError) [virtual] |
[CORBA interface] Set ConfigurationSet
This operation modifies the specified ConfigurationSet of an SDO.
Note: The number of parameters differs between spec and IDL!!
config_id | The ID of ConfigurationSet to be modified. | |
configuration_set | ConfigurationSet to be replaced. |
InvalidParameter | The parameter 'configurationSetID' is null or there is no ConfigurationSet stored with such id. This exception is also raised if one of the attributes defining ConfigurationSet is not valid. | |
SDONotExists | The target SDO does not exist.(This exception is mapped to CORBA standard system exception OBJECT_NOT_EXIST.) | |
NotAvailable | The target SDO is reachable but cannot respond. | |
InternalError | The target SDO cannot execute the operation completely due to some internal error. |
virtual CORBA::Boolean SDOPackage::Configuration_impl::set_device_profile | ( | const DeviceProfile & | dProfile | ) | throw (CORBA::SystemException, InvalidParameter, NotAvailable, InternalError) [virtual] |
[CORBA interface] Set DeviceProfile of SDO
This operation sets the DeviceProfile of an SDO. If the SDO does not have DeviceProfile, the operation will create a new DeviceProfile, otherwise it will replace the existing DeviceProfile.
dProfile | The device profile that is to be assigned to this SDO. |
SDONotExists | The target SDO does not exist.(This exception is mapped to CORBA standard system exception OBJECT_NOT_EXIST.) | |
NotAvailable | The target SDO is reachable but cannot respond. | |
InvalidParameter | The argument "dProfile" is null. | |
InternalError | The target SDO cannot execute the operation completely due to some internal error. |
Mutex SDOPackage::Configuration_impl::m_config_mutex [protected] |
SDO ConfigurationSetList with mutex lock.
DeviceProfile SDOPackage::Configuration_impl::m_deviceProfile [protected] |
SDO DeviceProfile with mutex lock.
Mutex SDOPackage::Configuration_impl::m_dprofile_mutex [protected] |
Configuration_var SDOPackage::Configuration_impl::m_objref [protected] |
The reference to CORBA object.
Mutex SDOPackage::Configuration_impl::m_org_mutex [protected] |
OrganizationList SDOPackage::Configuration_impl::m_organizations [protected] |
SDO OrganizationList with mutex lock.
ParameterList SDOPackage::Configuration_impl::m_parameters [protected] |
SDO Parameter.
Data structure to define a variable (parameter) independently of implementation technologies. The Parameter structure defines the name and type of a variable. Attributes defined in Parameter.
allowedValues : Values that the parameter can accept. This attribute is used only when the value scope inherent to the parameter type must be constrained. For example, the values allowed for a string parameter may be constrained by an enumeration, or the values allowed for a numeric parameter may be constrained by a range. The values allowed for a parameter can be defined in enumeration, range, or interval structures. The value of attribute allowedValues is null if there is no constraint on a parameter value, that is, any value can be assigned to the parameter as far as it follows the value scope inherent to the parameter’s type.
struct Parameter { string name; TypeCode type; AllowedValues allowed_values; };
SDO ParameterList with mutex lock
Mutex SDOPackage::Configuration_impl::m_params_mutex [protected] |
SDO Service admin object with mutex lock.
Mutex SDOPackage::Configuration_impl::m_sdoservice_mutex [protected] |
ServiceProfileList SDOPackage::Configuration_impl::m_serviceProfiles [protected] |
SDO ServiceProfileList with mutex lock.
Mutex SDOPackage::Configuration_impl::m_sprofile_mutex [protected] |
::RTC::Logger SDOPackage::Configuration_impl::rtclog [protected] |