OpenRTM-aist  1.2.1
クラス | 公開メンバ関数 | 限定公開メンバ関数 | 限定公開変数類 | 全メンバ一覧
SDOPackage::Configuration_impl クラス

SDO Configuration 実装クラス [詳解]

#include <SdoConfiguration.h>

SDOPackage::Configuration_impl の継承関係図
Inheritance graph
[凡例]
SDOPackage::Configuration_impl 連携図
Collaboration graph
[凡例]

クラス

struct  config_id
 ConfigurationSet用functor. [詳解]
 
struct  nv_name
 NVList用functor. [詳解]
 
struct  org_id
 Organization用functor. [詳解]
 

公開メンバ関数

 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 OrganizationList getOrganizations ()
 SDO の Organization リストを取得する [詳解]
 

限定公開メンバ関数

const std::string getUUID () const
 UUIDを生成する [詳解]
 

限定公開変数類

::RTC::Logger rtclog
 
Configuration_var m_objref
 CORBA オブジェクトへの参照 [詳解]
 
DeviceProfile m_deviceProfile
 Lock 付き SDO DeviceProfile. [詳解]
 
Mutex m_dprofile_mutex
 
ParameterList m_parameters
 SDO Parameter. [詳解]
 
Mutex m_params_mutex
 
RTC::ConfigAdminm_configsets
 Lock 付き SDO ConfigurationSetList. [詳解]
 
Mutex m_config_mutex
 
RTC::SdoServiceAdminm_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に対して処理を行う

から
0.4.0

構築子と解体子

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

コンストラクタ

コンストラクタ

引数
configAdminConfigurationSetList
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 が存在しない。
NotAvailableSDOは存在するが応答がない。
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が既に存在する。
NotAvailableSDOは存在するが応答がない。
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にマッピングされる)
NotAvailableSDOは存在するが応答がない。
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である。
NotAvailableSDOは存在するが応答がない。
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 によりセットされていない、
  • SDO の設定がアクティブになった後に変更された、
  • SDO を設定する ConfigurationSet が変更された、

これらの場合には、空の ConfigurationSet が返される。

戻り値
現在アクティブな ConfigurationSet。
例外
SDONotExistsターゲットのSDOが存在しない。(本例外は、CORBA標準 システム例外のOBJECT_NOT_EXISTにマッピングされる)
NotAvailableSDOは存在するが応答がない。
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" に関連付けられたパラメータが存在しない。
NotAvailableSDOは存在するが応答がない。
InternalError内部的エラーが発生した。
virtual NVList* SDOPackage::Configuration_impl::get_configuration_parameter_values ( )
throw (CORBA::SystemException,
NotAvailable,
InternalError
)
virtual

[CORBA interface] Configuration parameter の値のリストの取得

このオペレーションは全ての configuration パラメータおよび値を返す。

戻り値
全ての configuration パラメータと値のリスト。
例外
SDONotExistsターゲットのSDOが存在しない。(本例外は、CORBA標準 システム例外のOBJECT_NOT_EXISTにマッピングされる)
NotAvailableSDOは存在するが応答がない。
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にマッピングされる)
NotAvailableSDOは存在するが応答がない。
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_idConfigurationSet の識別子。
戻り値
引数により指定された ConfigurationSet。
例外
SDONotExistsターゲットのSDOが存在しない。(本例外は、CORBA標準 システム例外のOBJECT_NOT_EXISTにマッピングされる)
InvalidParameter"config_id" が null か、指定された ConfigurationSet が存在しない。
NotAvailableSDOは存在するが応答がない。
InternalError内部的エラーが発生した。
virtual ConfigurationSetList* SDOPackage::Configuration_impl::get_configuration_sets ( )
throw (CORBA::SystemException,
NotAvailable,
InternalError
)
virtual

[CORBA interface] ConfigurationSet リストの取得

このオペレーションは ConfigurationProfile が持つ ConfigurationSet の リストを返す。 SDO が ConfigurationSet を持たなければ空のリストを返す。

戻り値
保持している ConfigurationSet のリストの現在値。
例外
SDONotExistsターゲットのSDOが存在しない。(本例外は、CORBA標準 システム例外のOBJECT_NOT_EXISTにマッピングされる)
NotAvailableSDOは存在するが応答がない。
InternalError内部的エラーが発生した。
const DeviceProfile SDOPackage::Configuration_impl::getDeviceProfile ( )

SDO の DeviceProfile を取得する

SDO の DeviceProfile を取得する

戻り値
SDO の DeviceProfile
Configuration_ptr SDOPackage::Configuration_impl::getObjRef ( )

オブジェクト リファレンスを取得する

対象のオブジェクトリファレンスを取得する

戻り値
オブジェクトリファレンス
const OrganizationList SDOPackage::Configuration_impl::getOrganizations ( )

SDO の Organization リストを取得する

SDO の Organization リストを取得する

戻り値
SDO の Organization リスト
const std::string SDOPackage::Configuration_impl::getUUID ( ) const
protected

UUIDを生成する

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 が存在しない。
NotAvailableSDOは存在するが応答がない。
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 が存在しない。
NotAvailableSDOは存在するが応答がない。
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 が存在しない。
NotAvailableSDOは存在するが応答がない。
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" に関連付けられたパラメータが存在しない。
NotAvailableSDOは存在するが応答がない。
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 そのもの。
戻り値
ConfigurationSet が正常に更新できた場合は true。 そうでなければ false を返す。
例外
InvalidParameterconfig_id が null か、 指定された id で格納された ConfigurationSetが 存在しないか、指定された configuration_set内 の属性の1つが不正。
SDONotExistsターゲットのSDOが存在しない。(本例外は、CORBA標準 システム例外のOBJECT_NOT_EXISTにマッピングされる)
NotAvailableSDOは存在するが応答がない。
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 をすでに保持している場合は既存のものと置き換える。

引数
dProfileSDO に関連付けられる DeviceProfile。
戻り値
オペレーションが成功したかどうかを返す。
例外
SDONotExistsターゲットのSDOが存在しない。(本例外は、CORBA標準 システム例外のOBJECT_NOT_EXISTにマッピングされる)
NotAvailableSDOは存在するが応答がない。
InvalidParameter引数 "dProfile" が null である。
InternalError内部的エラーが発生した。

メンバ詳解

Mutex SDOPackage::Configuration_impl::m_config_mutex
protected
RTC::ConfigAdmin& SDOPackage::Configuration_impl::m_configsets
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.

実装技術に非依存な変数(パラメータ)を定義するデータ構造。 パラメータ構造は、変数の名前と型を定義する。 定義されている属性は以下のとおり。

  • name : パラメータの名前。
  • type : パラメータの型名。パラメータ・データ型のオリジナルの値範囲は 属性 allowedValues の定義で限定することができる。

allowedValues : パラメータが取ることのできる値。 パラメータ型に固有の定義を限定する必要がある場合のみ この属性は使用される。例えば、文字列パラメータに許さ れる値を列挙によって限定したり、数値型パラメータに許 される値を範囲によって限定したりする。パラメータに許 される値は、列挙、範囲またはインターバル構造で定義す ることができる。 もしもパラメータに対する制約がない場合は、allowedValues 属性はnullとなる。すなわち、パラメータ型に固有の範囲 であればどのような値も取ることができる。

struct Parameter { string name; TypeCode type; AllowedValues allowed_values; };

Lock 付き SDO ParameterList

Mutex SDOPackage::Configuration_impl::m_params_mutex
protected
RTC::SdoServiceAdmin& SDOPackage::Configuration_impl::m_sdoservice
protected

Lock 付き SDO Service 管理オブジェクト

Mutex SDOPackage::Configuration_impl::m_sdoservice_mutex
protected
::RTC::Logger SDOPackage::Configuration_impl::rtclog
protected

このクラス詳解は次のファイルから抽出されました: