SDOPackage::Configuration_impl Class Reference

Configuration implementation class. More...

#include <SdoConfiguration.h>

List of all members.

Classes

struct  config_id
 Functor for ConfigurationSet. More...
struct  nv_name
 Functor for NVList. More...
struct  org_id
 Functor for Organization. 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 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
ParameterList m_parameters
 SDO Parameter.
Mutex m_params_mutex
RTC::ConfigAdminm_configsets
 SDO ConfigurationSetList with mutex lock.
Mutex m_config_mutex
RTC::SdoServiceAdminm_sdoservice
 SDO Service admin object with mutex lock.
Mutex m_sdoservice_mutex
OrganizationList m_organizations
 SDO OrganizationList with mutex lock.
Mutex m_org_mutex

Detailed Description

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

Since:
0.4.0

Constructor & Destructor Documentation

SDOPackage::Configuration_impl::Configuration_impl ( RTC::ConfigAdmin configAdmin,
RTC::SdoServiceAdmin sdoServiceAdmin 
)

Constructor.

Constructor

Parameters:
configAdmin ConfigurationSetList
virtual SDOPackage::Configuration_impl::~Configuration_impl ( void   )  [virtual]

Virtual destractor.


Member Function Documentation

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.

Parameters:
config_id Identifier of ConfigurationSet to be activated.
Returns:
If the operation was successfully completed.
Exceptions:
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.

Parameters:
configuration_set The ConfigurationSet that is added.
Returns:
If the operation was successfully completed.
Exceptions:
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.

Parameters:
org Organization to be added.
Returns:
If the operation was successfully completed.
Exceptions:
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.

Parameters:
sProfile ServiceProfile to be added.
Returns:
If the operation was successfully completed.
Exceptions:
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:

  • Current configuration of the SDO was not set using any predefined ConfigurationSet, or
  • Configuration of the SDO was changed after it has been active, or
  • ConfigurationSet that was used to configure the SDO was modified.

Empty ConfigurationSet is returned in these cases.

Returns:
The active ConfigurationSet.
Exceptions:
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::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."

Parameters:
name Name of the parameter whose value is requested.
Returns:
The value of the specified parameter.
Exceptions:
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.

Returns:
List of all configuration parameters and their values.
Exceptions:
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 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.

Returns:
The list with definitions of parameters characterizing the configuration.
Exceptions:
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 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.

Parameters:
config_id Identifier of ConfigurationSet requested.
Returns:
The configuration set specified by the parameter config_id.
Exceptions:
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.

Returns:
The list of stored configuration with their current values.
Exceptions:
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.
const DeviceProfile SDOPackage::Configuration_impl::getDeviceProfile (  ) 

Get the DeviceProfile of SDO.

Get the DeviceProfile of SDO.

Returns:
DeviceProfile of SDO
Configuration_ptr SDOPackage::Configuration_impl::getObjRef (  ) 

Get object reference.

Get the target object reference.

Returns:
Object reference
const OrganizationList SDOPackage::Configuration_impl::getOrganizations (  ) 

Get a list of Organization of SDO.

Get a list of Organization of SDO.

Returns:
List of Organization of SDO
const std::string SDOPackage::Configuration_impl::getUUID (  )  const [protected]

Generate UUID.

Generate UUID.

Returns:
UUID that has been generated
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.

Parameters:
config_id The id of ConfigurationSet which is removed.
Returns:
If the operation was successfully completed.
Exceptions:
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.

Parameters:
organization_id Unique id of the organization to be removed.
Returns:
If the operation was successfully completed.
Exceptions:
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.

Parameters:
id serviceID of a ServiceProfile to be removed.
Returns:
If the operation was successfully completed.
Exceptions:
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."

Parameters:
name The name of parameter to be modified.
value New value of the specified parameter.
Returns:
If the operation was successfully completed.
Exceptions:
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!!

Parameters:
config_id The ID of ConfigurationSet to be modified.
configuration_set ConfigurationSet to be replaced.
Returns:
A flag indicating if the ConfigurationSet was modified successfully. "true" - The ConfigurationSet was modified successfully. "false" - The ConfigurationSet could not be modified successfully.
Exceptions:
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.

Parameters:
dProfile The device profile that is to be assigned to this SDO.
Returns:
If the operation was successfully completed.
Exceptions:
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.

Member Data Documentation

SDO ConfigurationSetList with mutex lock.

SDO DeviceProfile with mutex lock.

Configuration_var SDOPackage::Configuration_impl::m_objref [protected]

The reference to CORBA object.

SDO OrganizationList with mutex lock.

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.

  • name : Parameter’s name.
  • type : Name of parameter's type. The original value scope of parameter data type can be constrained by definitions allocated in the attribute allowedValues.

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

SDO Service admin object with mutex lock.

Generated on Fri Oct 28 18:31:19 2016 for OpenRTM-aist by  doxygen 1.6.3