クラス SDOPackage::Configuration_impl

SDO Configuration 実装クラス [詳細]

#include <SdoConfiguration.h>

すべてのメンバ一覧

Public メソッド

 Configuration_impl (RTC::ConfigAdmin &configAdmin)
 コンストラクタ
virtual ~Configuration_impl ()
 仮想デストラクタ
virtual CORBA::Boolean set_device_profile (const DeviceProfile &dProfile) throw (CORBA::SystemException, InvalidParameter, NotAvailable, InternalError)
 [CORBA interface] SDO の DeviceProfile のセット
virtual CORBA::Boolean set_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 char *config_id, 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 型

typedef ACE_Guard
< ACE_Thread_Mutex > 
Guard

Protected メソッド

const std::string getUUID () const
 UUIDを生成する

Protected 変数

Configuration_var m_objref
 CORBA オブジェクトへの参照
DeviceProfile m_deviceProfile
 Lock 付き SDO DeviceProfile
ACE_Thread_Mutex m_dprofile_mutex
ServiceProfileList m_serviceProfiles
 Lock 付き SDO ServiceProfileList
ACE_Thread_Mutex m_sprofile_mutex
ParameterList m_parameters
 SDO Parameter
ACE_Thread_Mutex m_params_mutex
RTC::ConfigAdminm_configsets
 Lock 付き SDO ConfigurationSetList
ACE_Thread_Mutex m_config_mutex
OrganizationList m_organizations
 Lock 付き SDO OrganizationList
ACE_Thread_Mutex m_org_mutex

構成

struct  config_id
 ConfigurationSet用functor [詳細]
struct  nv_name
 NVList用functor [詳細]
struct  org_id
 Organization用functor [詳細]
struct  service_id
 ServiceProfile用functor [詳細]


説明

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

型定義

typedef ACE_Guard<ACE_Thread_Mutex> SDOPackage::Configuration_impl::Guard [protected]


コンストラクタとデストラクタ

SDOPackage::Configuration_impl::Configuration_impl ( RTC::ConfigAdmin configAdmin  ) 

コンストラクタ

コンストラクタ

引数:
configAdmin ConfigurationSetList

virtual SDOPackage::Configuration_impl::~Configuration_impl (  )  [virtual]

仮想デストラクタ

仮想デストラクタ。


関数

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 内部的エラーが発生した。

virtual CORBA::Boolean SDOPackage::Configuration_impl::set_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 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::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::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 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 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にマッピングされる)
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 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 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にマッピングされる)
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 の識別子。
戻り値:
引数により指定された ConfigurationSet。
例外:
SDONotExists ターゲットのSDOが存在しない。(本例外は、CORBA標準 システム例外のOBJECT_NOT_EXISTにマッピングされる)
InvalidParameter "config_id" が null か、指定された ConfigurationSet が存在しない。
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 が返される。

戻り値:
現在アクティブな ConfigurationSet。
例外:
SDONotExists ターゲットのSDOが存在しない。(本例外は、CORBA標準 システム例外のOBJECT_NOT_EXISTにマッピングされる)
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::set_configuration_set_values ( const char *  config_id,
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 を返す。
例外:
InvalidParameter config_id が null か、 指定された id で格納された ConfigurationSetが 存在しないか、指定された configuration_set内 の属性の1つが不正。
SDONotExists ターゲットのSDOが存在しない。(本例外は、CORBA標準 システム例外のOBJECT_NOT_EXISTにマッピングされる)
NotAvailable SDOは存在するが応答がない。
InternalError 内部的エラーが発生した。

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::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 内部的エラーが発生した。

Configuration_ptr SDOPackage::Configuration_impl::getObjRef (  ) 

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

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

戻り値:
オブジェクトリファレンス

const DeviceProfile SDOPackage::Configuration_impl::getDeviceProfile (  ) 

SDO の DeviceProfile を取得する

SDO の DeviceProfile を取得する

戻り値:
SDO の DeviceProfile

const ServiceProfileList SDOPackage::Configuration_impl::getServiceProfiles (  ) 

SDO の ServiceProfile のリストを取得する

SDO の ServiceProfile のリストを取得する

戻り値:
SDO ServiceProfileリスト

const ServiceProfile SDOPackage::Configuration_impl::getServiceProfile ( const char *  id  ) 

SDO の ServiceProfile を取得する

このオペレーションは引数 "id" で指定されたSDO の ServiceProfileを返す。 "id" で指定された ServiceProfileが存在しない場合、 ServiceProfileのインスタンスを生成し返す。

引数:
id ServiceProfile の識別子。
戻り値:
指定された SDO ServiceProfile

const OrganizationList SDOPackage::Configuration_impl::getOrganizations (  ) 

SDO の Organization リストを取得する

SDO の Organization リストを取得する

戻り値:
SDO の Organization リスト

const std::string SDOPackage::Configuration_impl::getUUID (  )  const [protected]

UUIDを生成する

UUIDを生成する

戻り値:
生成したUUID


変数

Configuration_var SDOPackage::Configuration_impl::m_objref [protected]

CORBA オブジェクトへの参照

DeviceProfile SDOPackage::Configuration_impl::m_deviceProfile [protected]

Lock 付き SDO DeviceProfile

ACE_Thread_Mutex SDOPackage::Configuration_impl::m_dprofile_mutex [protected]

ServiceProfileList SDOPackage::Configuration_impl::m_serviceProfiles [protected]

Lock 付き SDO ServiceProfileList

ACE_Thread_Mutex SDOPackage::Configuration_impl::m_sprofile_mutex [protected]

ParameterList SDOPackage::Configuration_impl::m_parameters [protected]

SDO Parameter

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

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

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

Lock 付き SDO ParameterList

ACE_Thread_Mutex SDOPackage::Configuration_impl::m_params_mutex [protected]

RTC::ConfigAdmin& SDOPackage::Configuration_impl::m_configsets [protected]

Lock 付き SDO ConfigurationSetList

ACE_Thread_Mutex SDOPackage::Configuration_impl::m_config_mutex [protected]

OrganizationList SDOPackage::Configuration_impl::m_organizations [protected]

Lock 付き SDO OrganizationList

ACE_Thread_Mutex SDOPackage::Configuration_impl::m_org_mutex [protected]


OpenRTMに対してThu May 29 15:03:27 2008に生成されました。  doxygen 1.5.3