クラス SDOPackage::Configuration_impl

SDO Configuration 実装クラス. [詳細]

#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::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 
)

コンストラクタ

コンストラクタ

引数:
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 によりセットされていない、
  • SDO の設定がアクティブになった後に変更された、
  • 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 パラメータおよび値を返す。

戻り値:
全ての 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 の識別子。
戻り値:
引数により指定された 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 を持たなければ空のリストを返す。

戻り値:
保持している ConfigurationSet のリストの現在値。
例外:
SDONotExists ターゲットのSDOが存在しない。(本例外は、CORBA標準 システム例外のOBJECT_NOT_EXISTにマッピングされる)
NotAvailable SDOは存在するが応答がない。
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 ServiceProfile SDOPackage::Configuration_impl::getServiceProfile ( const char *  id  ) 

SDO の ServiceProfile を取得する.

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

引数:
id ServiceProfile の識別子。
戻り値:
指定された SDO ServiceProfile
const ServiceProfileList SDOPackage::Configuration_impl::getServiceProfiles (  ) 

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

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

戻り値:
SDO ServiceProfileリスト
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 が存在しない。
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 そのもの。
戻り値:
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::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 内部的エラーが発生した。

変数

Lock 付き SDO ConfigurationSetList.

Lock 付き SDO DeviceProfile.

Configuration_var SDOPackage::Configuration_impl::m_objref [protected]

CORBA オブジェクトへの参照.

Lock 付き SDO OrganizationList.

SDO Parameter.

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

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

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

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

Lock 付き SDO ParameterList

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

ServiceProfileList SDOPackage::Configuration_impl::m_serviceProfiles [protected]

Lock 付き SDO ServiceProfileList.

OpenRTMに対してFri Mar 11 00:00:51 2011に生成されました。  doxygen 1.6.3