#include <SdoConfiguration.h>
構成 | |
struct | config_id |
ConfigurationSet用functor. [詳細] | |
struct | nv_name |
NVList用functor. [詳細] | |
struct | org_id |
Organization用functor. [詳細] | |
struct | service_id |
ServiceProfile用functor. [詳細] | |
Public メソッド | |
Configuration_impl (RTC::ConfigAdmin &configAdmin, RTC::SdoServiceAdmin &sdoServiceAdmin) | |
コンストラクタ | |
virtual | ~Configuration_impl (void) |
仮想デストラクタ | |
virtual CORBA::Boolean | set_device_profile (const DeviceProfile &dProfile) throw (CORBA::SystemException, InvalidParameter, NotAvailable, InternalError) |
[CORBA interface] SDO の DeviceProfile のセット | |
virtual CORBA::Boolean | add_service_profile (const ServiceProfile &sProfile) throw (CORBA::SystemException, InvalidParameter, NotAvailable, InternalError) |
[CORBA interface] SDO の ServiceProfile のセット | |
virtual CORBA::Boolean | add_organization (Organization_ptr org) throw (CORBA::SystemException, InvalidParameter, NotAvailable, InternalError) |
[CORBA interface] Organization の追加 | |
virtual CORBA::Boolean | remove_service_profile (const char *id) throw (CORBA::SystemException, InvalidParameter, NotAvailable, InternalError) |
[CORBA interface] ServiceProfile の削除 | |
virtual CORBA::Boolean | remove_organization (const char *organization_id) throw (CORBA::SystemException, InvalidParameter, NotAvailable, InternalError) |
[CORBA interface] Organization の参照の削除 | |
virtual ParameterList * | get_configuration_parameters () throw (CORBA::SystemException, NotAvailable, InternalError) |
[CORBA interface] 設定パラメータのリストの取得 | |
virtual NVList * | get_configuration_parameter_values () throw (CORBA::SystemException, NotAvailable, InternalError) |
[CORBA interface] Configuration parameter の値のリストの取得 | |
virtual CORBA::Any * | get_configuration_parameter_value (const char *name) throw (CORBA::SystemException, InvalidParameter, NotAvailable, InternalError) |
[CORBA interface] Configuration parameter の値の取得 | |
virtual CORBA::Boolean | set_configuration_parameter (const char *name, const CORBA::Any &value) throw (CORBA::SystemException, InvalidParameter, NotAvailable, InternalError) |
[CORBA interface] Configuration パラメータの変更 | |
virtual ConfigurationSetList * | get_configuration_sets () throw (CORBA::SystemException, NotAvailable, InternalError) |
[CORBA interface] ConfigurationSet リストの取得 | |
virtual ConfigurationSet * | get_configuration_set (const char *config_id) throw (CORBA::SystemException, NotAvailable, InternalError) |
[CORBA interface] ConfigurationSet の取得 | |
virtual ConfigurationSet * | get_active_configuration_set () throw (CORBA::SystemException, NotAvailable, InternalError) |
[CORBA interface] アクティブな ConfigurationSet を取得する | |
virtual CORBA::Boolean | add_configuration_set (const ConfigurationSet &configuration_set) throw (CORBA::SystemException, InvalidParameter, NotAvailable, InternalError) |
[CORBA interface] ConfigurationSet を追加する | |
virtual CORBA::Boolean | set_configuration_set_values (const ConfigurationSet &configuration_set) throw (CORBA::SystemException, InvalidParameter, NotAvailable, InternalError) |
[CORBA interface] ConfigurationSet をセットする | |
virtual CORBA::Boolean | remove_configuration_set (const char *config_id) throw (CORBA::SystemException, InvalidParameter, NotAvailable, InternalError) |
[CORBA interface] ConfigurationSet を削除する | |
virtual CORBA::Boolean | activate_configuration_set (const char *config_id) throw (CORBA::SystemException, InvalidParameter, NotAvailable, InternalError) |
[CORBA interface] ConfigurationSet のアクティブ化 | |
Configuration_ptr | getObjRef () |
オブジェクト リファレンスを取得する | |
const DeviceProfile | getDeviceProfile () |
SDO の DeviceProfile を取得する. | |
const ServiceProfileList | getServiceProfiles () |
SDO の ServiceProfile のリストを取得する. | |
const ServiceProfile | getServiceProfile (const char *id) |
SDO の ServiceProfile を取得する. | |
const OrganizationList | getOrganizations () |
SDO の Organization リストを取得する. | |
Protected メソッド | |
const std::string | getUUID () const |
UUIDを生成する. | |
Protected 変数 | |
::RTC::Logger | rtclog |
Configuration_var | m_objref |
CORBA オブジェクトへの参照. | |
DeviceProfile | m_deviceProfile |
Lock 付き SDO DeviceProfile. | |
Mutex | m_dprofile_mutex |
ServiceProfileList | m_serviceProfiles |
Lock 付き SDO ServiceProfileList. | |
Mutex | m_sprofile_mutex |
ParameterList | m_parameters |
SDO Parameter. | |
Mutex | m_params_mutex |
RTC::ConfigAdmin & | m_configsets |
Lock 付き SDO ConfigurationSetList. | |
Mutex | m_config_mutex |
RTC::SdoServiceAdmin & | m_sdoservice |
Lock 付き SDO Service 管理オブジェクト. | |
Mutex | m_sdoservice_mutex |
OrganizationList | m_organizations |
Lock 付き SDO OrganizationList. | |
Mutex | m_org_mutex |
SDO Configuration 実装クラス.
Configuration interface は Resource Data Model で定義されたデータの 追加、削除等の操作を行うためのインターフェースである。 DeviceProfile, ServiceProfile, ConfigurationProfile および Organization の変更を行うためのオペレーションを備えている。SDO の仕様ではアクセス制御 およびセキュリティに関する詳細については規定していない。
複数の設定 (Configuration) を保持することにより、容易かつ素早くある設定 を反映させることができる。事前に定義された複数の設定を ConfigurationSets および configuration profile として保持することができる。ひとつの ConfigurationSet は特定の設定に関連付けられた全プロパティ値のリストを、 ユニークID、詳細とともに持っている。これにより、各設定項目の詳細を記述し 区別することができる。Configuration interface のオペレーションはこれら ConfiguratioinSets の管理を支援する。
以下、SDO仕様に明記されていないもしくは解釈がわからないため独自解釈
以下の関数は ParameterList に対して処理を行う。
以下の関数はアクティブなConfigurationSetに対する処理を行う
以下の関数はConfigurationSetListに対して処理を行う
SDOPackage::Configuration_impl::Configuration_impl | ( | RTC::ConfigAdmin & | configAdmin, | |
RTC::SdoServiceAdmin & | sdoServiceAdmin | |||
) |
コンストラクタ
コンストラクタ
configAdmin | ConfigurationSetList |
virtual SDOPackage::Configuration_impl::~Configuration_impl | ( | void | ) | [virtual] |
仮想デストラクタ
仮想デストラクタ。
virtual CORBA::Boolean SDOPackage::Configuration_impl::activate_configuration_set | ( | const char * | config_id | ) | throw (CORBA::SystemException, InvalidParameter, NotAvailable, InternalError) [virtual] |
[CORBA interface] ConfigurationSet のアクティブ化
ConfigurationProfile に格納された ConfigurationSet のうち一つを アクティブにする。 このオペレーションは特定の ConfigurationSet をアクティブにする。 すなわち、SDO のコンフィギュレーション・プロパティがその格納されている ConfigurationSet により設定されるプロパティの値に変更される。 指定された ConfigurationSet の値がアクティブ・コンフィギュレーション にコピーされるということを意味する。
config_id | アクティブ化する ConfigurationSet の id。 |
SDONotExists | ターゲットのSDOが存在しない。(本例外は、CORBA標準 システム例外のOBJECT_NOT_EXISTにマッピングされる) | |
InvalidParameter | 引数 "config_id" が null である、もしくは 引数で指定された ConfigurationSet が存在しない。 | |
NotAvailable | SDOは存在するが応答がない。 | |
InternalError | 内部的エラーが発生した。 |
virtual CORBA::Boolean SDOPackage::Configuration_impl::add_configuration_set | ( | const ConfigurationSet & | configuration_set | ) | throw (CORBA::SystemException, InvalidParameter, NotAvailable, InternalError) [virtual] |
[CORBA interface] ConfigurationSet を追加する
ConfigurationProfile に ConfigurationSet を追加するオペレーション。
configuration_set | 追加する ConfigurationSet。 |
SDONotExists | ターゲットのSDOが存在しない。(本例外は、CORBA標準 システム例外のOBJECT_NOT_EXISTにマッピングされる) | |
InvalidParameter | "configurationSet" が null か、 "configurationSet"で定義された属性の1つが不正か、 指定された configurationSet もIDが既に存在する。 | |
NotAvailable | SDOは存在するが応答がない。 | |
InternalError | 内部的エラーが発生した。 |
virtual CORBA::Boolean SDOPackage::Configuration_impl::add_organization | ( | Organization_ptr | org | ) | throw (CORBA::SystemException, InvalidParameter, NotAvailable, InternalError) [virtual] |
[CORBA interface] Organization の追加
このオペレーションは Organization object のリファレンスを追加する。
org | 追加する Organization |
SDONotExists | ターゲットのSDOが存在しない。(本例外は、CORBA標準 システム例外のOBJECT_NOT_EXISTにマッピングされる) | |
NotAvailable | SDOは存在するが応答がない。 | |
InvalidParameter | 引数 "organization" が null である。 | |
InternalError | 内部的エラーが発生した。 |
virtual CORBA::Boolean SDOPackage::Configuration_impl::add_service_profile | ( | const ServiceProfile & | sProfile | ) | throw (CORBA::SystemException, InvalidParameter, NotAvailable, InternalError) [virtual] |
[CORBA interface] SDO の ServiceProfile のセット
このオペレーションはこの Configuration interface を所有する対象 SDO の ServiceProfile を追加する。もし引数の ServiceProfile の id が空であれば 新しい ID が生成されその ServiceProfile を格納する。もし id が空で なければ、SDO は同じ id を持つ ServiceProfile を検索する。 同じ id が存在しなければこの ServiceProfile を追加し、id が存在すれば 上書きをする。
(注意:最新バージョンではオペレーション名がadd_service_profile変更)
sProfile | 追加する ServiceProfile |
SDONotExists | ターゲットのSDOが存在しない。(本例外は、CORBA標準 システム例外のOBJECT_NOT_EXISTにマッピングされる) | |
InvalidParameter | 引数 "sProfile" が nullである。 | |
NotAvailable | SDOは存在するが応答がない。 | |
InternalError | 内部的エラーが発生した。 |
virtual ConfigurationSet* SDOPackage::Configuration_impl::get_active_configuration_set | ( | ) | throw (CORBA::SystemException, NotAvailable, InternalError) [virtual] |
[CORBA interface] アクティブな ConfigurationSet を取得する
このオペレーションは当該SDOの現在アクティブな ConfigurationSet を返す。 (もしSDOの現在の設定が予め定義された ConfigurationSet により設定されて いるならば。) ConfigurationSet は以下の場合にはアクティブではないものとみなされる。
これらの場合には、空の ConfigurationSet が返される。
SDONotExists | ターゲットのSDOが存在しない。(本例外は、CORBA標準 システム例外のOBJECT_NOT_EXISTにマッピングされる) | |
NotAvailable | SDOは存在するが応答がない。 | |
InternalError | 内部的エラーが発生した。 |
virtual CORBA::Any* SDOPackage::Configuration_impl::get_configuration_parameter_value | ( | const char * | name | ) | throw (CORBA::SystemException, InvalidParameter, NotAvailable, InternalError) [virtual] |
[CORBA interface] Configuration parameter の値の取得
このオペレーションは引数 "name" で指定されたパラメータ値を返す。
name | 値を要求するパラメータの名前。 |
SDONotExists | ターゲットのSDOが存在しない。(本例外は、CORBA標準 システム例外のOBJECT_NOT_EXISTにマッピングされる) | |
InvalidParameter | 引数 "name" が null である。 もしくは "name" に関連付けられたパラメータが存在しない。 | |
NotAvailable | SDOは存在するが応答がない。 | |
InternalError | 内部的エラーが発生した。 |
virtual NVList* SDOPackage::Configuration_impl::get_configuration_parameter_values | ( | ) | throw (CORBA::SystemException, NotAvailable, InternalError) [virtual] |
[CORBA interface] Configuration parameter の値のリストの取得
このオペレーションは全ての configuration パラメータおよび値を返す。
SDONotExists | ターゲットのSDOが存在しない。(本例外は、CORBA標準 システム例外のOBJECT_NOT_EXISTにマッピングされる) | |
NotAvailable | SDOは存在するが応答がない。 | |
InternalError | 内部的エラーが発生した。 |
virtual ParameterList* SDOPackage::Configuration_impl::get_configuration_parameters | ( | ) | throw (CORBA::SystemException, NotAvailable, InternalError) [virtual] |
[CORBA interface] 設定パラメータのリストの取得
このオペレーションは configuration parameter のリストを返す。 SDO が設定可能なパラメータを持たなければ空のリストを返す。
SDONotExists | ターゲットのSDOが存在しない。(本例外は、CORBA標準 システム例外のOBJECT_NOT_EXISTにマッピングされる) | |
NotAvailable | SDOは存在するが応答がない。 | |
InternalError | 内部的エラーが発生した。 |
virtual ConfigurationSet* SDOPackage::Configuration_impl::get_configuration_set | ( | const char * | config_id | ) | throw (CORBA::SystemException, NotAvailable, InternalError) [virtual] |
[CORBA interface] ConfigurationSet の取得
このオペレーションは引数で指定された ConfigurationSet の ID に関連 付けられた ConfigurationSet を返す。
config_id | ConfigurationSet の識別子。 |
SDONotExists | ターゲットのSDOが存在しない。(本例外は、CORBA標準 システム例外のOBJECT_NOT_EXISTにマッピングされる) | |
InvalidParameter | "config_id" が null か、指定された ConfigurationSet が存在しない。 | |
NotAvailable | SDOは存在するが応答がない。 | |
InternalError | 内部的エラーが発生した。 |
virtual ConfigurationSetList* SDOPackage::Configuration_impl::get_configuration_sets | ( | ) | throw (CORBA::SystemException, NotAvailable, InternalError) [virtual] |
[CORBA interface] ConfigurationSet リストの取得
このオペレーションは ConfigurationProfile が持つ ConfigurationSet の リストを返す。 SDO が ConfigurationSet を持たなければ空のリストを返す。
SDONotExists | ターゲットのSDOが存在しない。(本例外は、CORBA標準 システム例外のOBJECT_NOT_EXISTにマッピングされる) | |
NotAvailable | SDOは存在するが応答がない。 | |
InternalError | 内部的エラーが発生した。 |
const DeviceProfile SDOPackage::Configuration_impl::getDeviceProfile | ( | ) |
Configuration_ptr SDOPackage::Configuration_impl::getObjRef | ( | ) |
オブジェクト リファレンスを取得する
対象のオブジェクトリファレンスを取得する
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] |
UUIDを生成する.
UUIDを生成する
virtual CORBA::Boolean SDOPackage::Configuration_impl::remove_configuration_set | ( | const char * | config_id | ) | throw (CORBA::SystemException, InvalidParameter, NotAvailable, InternalError) [virtual] |
[CORBA interface] ConfigurationSet を削除する
ConfigurationProfile から ConfigurationSet を削除する。
config_id | 削除する ConfigurationSet の id。 |
SDONotExists | ターゲットのSDOが存在しない。(本例外は、CORBA標準 システム例外のOBJECT_NOT_EXISTにマッピングされる) | |
InvalidParameter | 引数 "configurationSetID" が null である、 もしくは、引数で指定された ConfigurationSet が存在しない。 | |
NotAvailable | SDOは存在するが応答がない。 | |
InternalError | 内部的エラーが発生した。 |
virtual CORBA::Boolean SDOPackage::Configuration_impl::remove_organization | ( | const char * | organization_id | ) | throw (CORBA::SystemException, InvalidParameter, NotAvailable, InternalError) [virtual] |
[CORBA interface] Organization の参照の削除
このオペレーションは Organization の参照を削除する。
organization_id | 削除する Organization の一意な id。 |
SDONotExists | ターゲットのSDOが存在しない。(本例外は、CORBA標準 システム例外のOBJECT_NOT_EXISTにマッピングされる) | |
InvalidParameter | 引数 "organization_id" が null である。 もしくは "organization_id" に関連付けられた OrganizationProfile が存在しない。 | |
NotAvailable | SDOは存在するが応答がない。 | |
InternalError | 内部的エラーが発生した。 |
virtual CORBA::Boolean SDOPackage::Configuration_impl::remove_service_profile | ( | const char * | id | ) | throw (CORBA::SystemException, InvalidParameter, NotAvailable, InternalError) [virtual] |
[CORBA interface] ServiceProfile の削除
このオペレーションはこの Configuration interface を持つ SDO の Service の ServiceProfile を削除する。削除する ServiceProfile は引数により指定される。
id | 削除する ServiceProfile の serviceID。 |
SDONotExists | ターゲットのSDOが存在しない。(本例外は、CORBA標準 システム例外のOBJECT_NOT_EXISTにマッピングされる) | |
InvalidParameter | 引数 "id" が null である。もしくは "id" に 関連付けられた ServiceProfile が存在しない。 | |
NotAvailable | SDOは存在するが応答がない。 | |
InternalError | 内部的エラーが発生した。 |
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] Configuration パラメータの変更
このオペレーションは "name" で指定したパラメータの値を "value" に 変更する。
name | 変更対象パラメータの名前。 | |
value | 変更対象パラメータの新しい値。 |
SDONotExists | ターゲットのSDOが存在しない。(本例外は、CORBA標準 システム例外のOBJECT_NOT_EXISTにマッピングされる) | |
InvalidParameter | 引数( "name"もしくは"value") が null である。 もしくは "name" に関連付けられたパラメータが存在しない。 | |
NotAvailable | SDOは存在するが応答がない。 | |
InternalError | 内部的エラーが発生した。 |
virtual CORBA::Boolean SDOPackage::Configuration_impl::set_configuration_set_values | ( | const ConfigurationSet & | configuration_set | ) | throw (CORBA::SystemException, InvalidParameter, NotAvailable, InternalError) [virtual] |
[CORBA interface] ConfigurationSet をセットする
このオペレーションは指定された id の ConfigurationSet を更新する。
config_id | 変更する ConfigurationSet の ID。 | |
configuration_set | 変更する ConfigurationSet そのもの。 |
InvalidParameter | config_id が null か、 指定された id で格納された ConfigurationSetが 存在しないか、指定された configuration_set内 の属性の1つが不正。 | |
SDONotExists | ターゲットのSDOが存在しない。(本例外は、CORBA標準 システム例外のOBJECT_NOT_EXISTにマッピングされる) | |
NotAvailable | SDOは存在するが応答がない。 | |
InternalError | 内部的エラーが発生した。 |
virtual CORBA::Boolean SDOPackage::Configuration_impl::set_device_profile | ( | const DeviceProfile & | dProfile | ) | throw (CORBA::SystemException, InvalidParameter, NotAvailable, InternalError) [virtual] |
[CORBA interface] SDO の DeviceProfile のセット
このオペレーションは SDO の DeviceProfile をセットする。SDO が DeviceProfile を保持していない場合は新たな DeviceProfile を生成し、 DeviceProfile をすでに保持している場合は既存のものと置き換える。
dProfile | SDO に関連付けられる DeviceProfile。 |
SDONotExists | ターゲットのSDOが存在しない。(本例外は、CORBA標準 システム例外のOBJECT_NOT_EXISTにマッピングされる) | |
NotAvailable | SDOは存在するが応答がない。 | |
InvalidParameter | 引数 "dProfile" が null である。 | |
InternalError | 内部的エラーが発生した。 |
Mutex SDOPackage::Configuration_impl::m_config_mutex [protected] |
Lock 付き SDO ConfigurationSetList.
DeviceProfile SDOPackage::Configuration_impl::m_deviceProfile [protected] |
Lock 付き SDO DeviceProfile.
Mutex SDOPackage::Configuration_impl::m_dprofile_mutex [protected] |
Configuration_var SDOPackage::Configuration_impl::m_objref [protected] |
CORBA オブジェクトへの参照.
Mutex SDOPackage::Configuration_impl::m_org_mutex [protected] |
OrganizationList SDOPackage::Configuration_impl::m_organizations [protected] |
Lock 付き SDO OrganizationList.
ParameterList SDOPackage::Configuration_impl::m_parameters [protected] |
SDO Parameter.
実装技術に非依存な変数(パラメータ)を定義するデータ構造。 パラメータ構造は、変数の名前と型を定義する。 定義されている属性は以下のとおり。
allowedValues : パラメータが取ることのできる値。 パラメータ型に固有の定義を限定する必要がある場合のみ この属性は使用される。例えば、文字列パラメータに許さ れる値を列挙によって限定したり、数値型パラメータに許 される値を範囲によって限定したりする。パラメータに許 される値は、列挙、範囲またはインターバル構造で定義す ることができる。 もしもパラメータに対する制約がない場合は、allowedValues 属性はnullとなる。すなわち、パラメータ型に固有の範囲 であればどのような値も取ることができる。
struct Parameter { string name; TypeCode type; AllowedValues allowed_values; };
Lock 付き SDO ParameterList
Mutex SDOPackage::Configuration_impl::m_params_mutex [protected] |
Lock 付き SDO Service 管理オブジェクト.
Mutex SDOPackage::Configuration_impl::m_sdoservice_mutex [protected] |
ServiceProfileList SDOPackage::Configuration_impl::m_serviceProfiles [protected] |
Lock 付き SDO ServiceProfileList.
Mutex SDOPackage::Configuration_impl::m_sprofile_mutex [protected] |
::RTC::Logger SDOPackage::Configuration_impl::rtclog [protected] |