OpenRTM-aist 2.0.2
読み取り中…
検索中…
一致する文字列を見つけられません
SDOPackage::Configuration_impl クラス

SDO Configuration 実装クラス [詳解]

#include <SdoConfiguration.h>

SDOPackage::Configuration_impl の継承関係図
SDOPackage::Configuration_impl 連携図

クラス

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

公開メンバ関数

 Configuration_impl (RTC::ConfigAdmin &configsets, RTC::SdoServiceAdmin &sdoServiceAdmin)
 コンストラクタ
 
 ~Configuration_impl () override
 仮想デストラクタ
 
CORBA::Boolean set_device_profile (const DeviceProfile &dProfile) override
 [CORBA interface] SDO の DeviceProfile のセット
 
CORBA::Boolean add_service_profile (const ServiceProfile &sProfile) override
 [CORBA interface] SDO の ServiceProfile のセット
 
CORBA::Boolean add_organization (Organization_ptr org) override
 [CORBA interface] Organization の追加
 
CORBA::Boolean remove_service_profile (const char *id) override
 [CORBA interface] ServiceProfile の削除
 
CORBA::Boolean remove_organization (const char *organization_id) override
 [CORBA interface] Organization の参照の削除
 
ParameterList * get_configuration_parameters () override
 [CORBA interface] 設定パラメータのリストの取得
 
NVList * get_configuration_parameter_values () override
 [CORBA interface] Configuration parameter の値のリストの取得
 
CORBA::Any * get_configuration_parameter_value (const char *name) override
 [CORBA interface] Configuration parameter の値の取得
 
CORBA::Boolean set_configuration_parameter (const char *name, const CORBA::Any &value) override
 [CORBA interface] Configuration パラメータの変更
 
ConfigurationSetList * get_configuration_sets () override
 [CORBA interface] ConfigurationSet リストの取得
 
ConfigurationSet * get_configuration_set (const char *id) override
 [CORBA interface] ConfigurationSet の取得
 
ConfigurationSet * get_active_configuration_set () override
 [CORBA interface] アクティブな ConfigurationSet を取得する
 
CORBA::Boolean add_configuration_set (const ConfigurationSet &configuration_set) override
 [CORBA interface] ConfigurationSet を追加する
 
CORBA::Boolean set_configuration_set_values (const ConfigurationSet &configuration_set) override
 [CORBA interface] ConfigurationSet をセットする
 
CORBA::Boolean remove_configuration_set (const char *id) override
 [CORBA interface] ConfigurationSet を削除する
 
CORBA::Boolean activate_configuration_set (const char *id) override
 [CORBA interface] ConfigurationSet のアクティブ化
 
Configuration_ptr getObjRef ()
 オブジェクト リファレンスを取得する
 
DeviceProfile getDeviceProfile ()
 SDO の DeviceProfile を取得する
 
OrganizationList getOrganizations ()
 SDO の Organization リストを取得する
 

静的限定公開メンバ関数

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

限定公開変数類

::RTC::Logger rtclog
 
Configuration_var m_objref
 CORBA オブジェクトへの参照
 
DeviceProfile m_deviceProfile
 Lock 付き SDO DeviceProfile
 
std::mutex m_dprofile_mutex
 
ParameterList m_parameters
 SDO Parameter
 
std::mutex m_params_mutex
 
RTC::ConfigAdminm_configsets
 Lock 付き SDO ConfigurationSetList
 
std::mutex m_config_mutex
 
RTC::SdoServiceAdminm_sdoservice
 Lock 付き SDO Service 管理オブジェクト
 
std::mutex m_sdoservice_mutex
 
OrganizationList m_organizations
 Lock 付き SDO OrganizationList
 
std::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 の管理を支援する。

  • ConfigurationSet: id, description, NVList から構成される1セットの設定
  • ConfigurationSetList: ConfigurationSet のリスト
  • Parameter: name, type, allowed_values から構成されるパラメータ定義。
  • ActiveConfigurationSet: 現在有効なコンフィギュレーションの1セット。

以下、SDO仕様に明記されていないもしくは解釈がわからないため独自解釈

以下の関数は ParameterList に対して処理を行う。

以下の関数はアクティブなConfigurationSetに対する処理を行う

以下の関数はConfigurationSetListに対して処理を行う

から
0.4.0

構築子と解体子

◆ Configuration_impl()

SDOPackage::Configuration_impl::Configuration_impl ( RTC::ConfigAdmin & configsets,
RTC::SdoServiceAdmin & sdoServiceAdmin )

コンストラクタ

コンストラクタ

引数
configAdminConfigurationSetList

◆ ~Configuration_impl()

SDOPackage::Configuration_impl::~Configuration_impl ( )
override

仮想デストラクタ

仮想デストラクタ。

関数詳解

◆ activate_configuration_set()

CORBA::Boolean SDOPackage::Configuration_impl::activate_configuration_set ( const char * id)
override

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

◆ add_configuration_set()

CORBA::Boolean SDOPackage::Configuration_impl::add_configuration_set ( const ConfigurationSet & configuration_set)
override

[CORBA interface] ConfigurationSet を追加する

ConfigurationProfile に ConfigurationSet を追加するオペレーション。

引数
configuration_set追加する ConfigurationSet。
戻り値
オペレーションが成功したかどうか。
例外
SDONotExistsターゲットのSDOが存在しない。(本例外は、CORBA標準 システム例外のOBJECT_NOT_EXISTにマッピングされる)
InvalidParameter"configurationSet" が null か、 "configurationSet"で定義された属性の1つが不正か、 指定された configurationSet もIDが既に存在する。
NotAvailableSDOは存在するが応答がない。
InternalError内部的エラーが発生した。

◆ add_organization()

CORBA::Boolean SDOPackage::Configuration_impl::add_organization ( Organization_ptr org)
override

[CORBA interface] Organization の追加

このオペレーションは Organization object のリファレンスを追加する。

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

◆ add_service_profile()

CORBA::Boolean SDOPackage::Configuration_impl::add_service_profile ( const ServiceProfile & sProfile)
override

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

◆ get_active_configuration_set()

ConfigurationSet * SDOPackage::Configuration_impl::get_active_configuration_set ( )
override

[CORBA interface] アクティブな ConfigurationSet を取得する

このオペレーションは当該SDOの現在アクティブな ConfigurationSet を返す。 (もしSDOの現在の設定が予め定義された ConfigurationSet により設定されて いるならば。) ConfigurationSet は以下の場合にはアクティブではないものとみなされる。

  • 現在の設定が予め定義された ConfigurationSet によりセットされていない、
  • SDO の設定がアクティブになった後に変更された、
  • SDO を設定する ConfigurationSet が変更された、

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

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

◆ get_configuration_parameter_value()

CORBA::Any * SDOPackage::Configuration_impl::get_configuration_parameter_value ( const char * name)
override

[CORBA interface] Configuration parameter の値の取得

このオペレーションは引数 "name" で指定されたパラメータ値を返す。

引数
name値を要求するパラメータの名前。
戻り値
指定されたパラメータの値。
例外
SDONotExistsターゲットのSDOが存在しない。(本例外は、CORBA標準 システム例外のOBJECT_NOT_EXISTにマッピングされる)
InvalidParameter引数 "name" が null である。 もしくは "name" に関連付けられたパラメータが存在しない。
NotAvailableSDOは存在するが応答がない。
InternalError内部的エラーが発生した。

◆ get_configuration_parameter_values()

NVList * SDOPackage::Configuration_impl::get_configuration_parameter_values ( )
override

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

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

戻り値
全ての configuration パラメータと値のリスト。
例外
SDONotExistsターゲットのSDOが存在しない。(本例外は、CORBA標準 システム例外のOBJECT_NOT_EXISTにマッピングされる)
NotAvailableSDOは存在するが応答がない。
InternalError内部的エラーが発生した。

◆ get_configuration_parameters()

ParameterList * SDOPackage::Configuration_impl::get_configuration_parameters ( )
override

[CORBA interface] 設定パラメータのリストの取得

このオペレーションは configuration parameter のリストを返す。 SDO が設定可能なパラメータを持たなければ空のリストを返す。

戻り値
設定を特徴付けるパラメータ定義のリスト。
例外
SDONotExistsターゲットのSDOが存在しない。(本例外は、CORBA標準 システム例外のOBJECT_NOT_EXISTにマッピングされる)
NotAvailableSDOは存在するが応答がない。
InternalError内部的エラーが発生した。

◆ get_configuration_set()

ConfigurationSet * SDOPackage::Configuration_impl::get_configuration_set ( const char * id)
override

[CORBA interface] ConfigurationSet の取得

このオペレーションは引数で指定された ConfigurationSet の ID に関連 付けられた ConfigurationSet を返す。

引数
config_idConfigurationSet の識別子。
戻り値
引数により指定された ConfigurationSet。
例外
SDONotExistsターゲットのSDOが存在しない。(本例外は、CORBA標準 システム例外のOBJECT_NOT_EXISTにマッピングされる)
InvalidParameter"config_id" が null か、指定された ConfigurationSet が存在しない。
NotAvailableSDOは存在するが応答がない。
InternalError内部的エラーが発生した。

◆ get_configuration_sets()

ConfigurationSetList * SDOPackage::Configuration_impl::get_configuration_sets ( )
override

[CORBA interface] ConfigurationSet リストの取得

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

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

◆ getDeviceProfile()

DeviceProfile SDOPackage::Configuration_impl::getDeviceProfile ( )

SDO の DeviceProfile を取得する

SDO の DeviceProfile を取得する

戻り値
SDO の DeviceProfile

◆ getObjRef()

Configuration_ptr SDOPackage::Configuration_impl::getObjRef ( )

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

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

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

◆ getOrganizations()

OrganizationList SDOPackage::Configuration_impl::getOrganizations ( )

SDO の Organization リストを取得する

SDO の Organization リストを取得する

戻り値
SDO の Organization リスト

◆ getUUID()

static std::string SDOPackage::Configuration_impl::getUUID ( )
staticprotected

UUIDを生成する

UUIDを生成する

戻り値
生成したUUID

◆ remove_configuration_set()

CORBA::Boolean SDOPackage::Configuration_impl::remove_configuration_set ( const char * id)
override

[CORBA interface] ConfigurationSet を削除する

ConfigurationProfile から ConfigurationSet を削除する。

引数
config_id削除する ConfigurationSet の id。
戻り値
オペレーションが成功したかどうか。
例外
SDONotExistsターゲットのSDOが存在しない。(本例外は、CORBA標準 システム例外のOBJECT_NOT_EXISTにマッピングされる)
InvalidParameter引数 "configurationSetID" が null である、 もしくは、引数で指定された ConfigurationSet が存在しない。
NotAvailableSDOは存在するが応答がない。
InternalError内部的エラーが発生した。

◆ remove_organization()

CORBA::Boolean SDOPackage::Configuration_impl::remove_organization ( const char * organization_id)
override

[CORBA interface] Organization の参照の削除

このオペレーションは Organization の参照を削除する。

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

◆ remove_service_profile()

CORBA::Boolean SDOPackage::Configuration_impl::remove_service_profile ( const char * id)
override

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

◆ set_configuration_parameter()

CORBA::Boolean SDOPackage::Configuration_impl::set_configuration_parameter ( const char * name,
const CORBA::Any & value )
override

[CORBA interface] Configuration パラメータの変更

このオペレーションは "name" で指定したパラメータの値を "value" に 変更する。

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

◆ set_configuration_set_values()

CORBA::Boolean SDOPackage::Configuration_impl::set_configuration_set_values ( const ConfigurationSet & configuration_set)
override

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

◆ set_device_profile()

CORBA::Boolean SDOPackage::Configuration_impl::set_device_profile ( const DeviceProfile & dProfile)
override

[CORBA interface] SDO の DeviceProfile のセット

このオペレーションは SDO の DeviceProfile をセットする。SDO が DeviceProfile を保持していない場合は新たな DeviceProfile を生成し、 DeviceProfile をすでに保持している場合は既存のものと置き換える。

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

メンバ詳解

◆ m_config_mutex

std::mutex SDOPackage::Configuration_impl::m_config_mutex
protected

◆ m_configsets

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

Lock 付き SDO ConfigurationSetList

◆ m_deviceProfile

DeviceProfile SDOPackage::Configuration_impl::m_deviceProfile
protected

Lock 付き SDO DeviceProfile

◆ m_dprofile_mutex

std::mutex SDOPackage::Configuration_impl::m_dprofile_mutex
protected

◆ m_objref

Configuration_var SDOPackage::Configuration_impl::m_objref
protected

CORBA オブジェクトへの参照

◆ m_org_mutex

std::mutex SDOPackage::Configuration_impl::m_org_mutex
protected

◆ m_organizations

OrganizationList SDOPackage::Configuration_impl::m_organizations
protected

Lock 付き SDO OrganizationList

◆ m_parameters

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

◆ m_params_mutex

std::mutex SDOPackage::Configuration_impl::m_params_mutex
protected

◆ m_sdoservice

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

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

◆ m_sdoservice_mutex

std::mutex SDOPackage::Configuration_impl::m_sdoservice_mutex
protected

◆ rtclog

::RTC::Logger SDOPackage::Configuration_impl::rtclog
protected

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