SDO Configuration 実装クラス
[詳解]
#include <SdoConfiguration.h>
|
static std::string | getUUID () |
| UUIDを生成する
|
|
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()
コンストラクタ
コンストラクタ
- 引数
-
configAdmin | ConfigurationSetList |
◆ ~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 の値がアクティブ・コンフィギュレーション にコピーされるということを意味する。
- 引数
-
- 戻り値
- オペレーションが成功したかどうか。
- 例外
-
SDONotExists | ターゲットのSDOが存在しない。(本例外は、CORBA標準 システム例外のOBJECT_NOT_EXISTにマッピングされる) |
InvalidParameter | 引数 "config_id" が null である、もしくは 引数で指定された ConfigurationSet が存在しない。 |
NotAvailable | SDOは存在するが応答がない。 |
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が既に存在する。 |
NotAvailable | SDOは存在するが応答がない。 |
InternalError | 内部的エラーが発生した。 |
◆ add_organization()
CORBA::Boolean SDOPackage::Configuration_impl::add_organization |
( |
Organization_ptr | org | ) |
|
|
override |
[CORBA interface] Organization の追加
このオペレーションは Organization object のリファレンスを追加する。
- 引数
-
- 戻り値
- オペレーションが成功したかどうかを返す。
- 例外
-
SDONotExists | ターゲットのSDOが存在しない。(本例外は、CORBA標準 システム例外のOBJECT_NOT_EXISTにマッピングされる) |
NotAvailable | SDOは存在するが応答がない。 |
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である。 |
NotAvailable | SDOは存在するが応答がない。 |
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にマッピングされる) |
NotAvailable | SDOは存在するが応答がない。 |
InternalError | 内部的エラーが発生した。 |
◆ get_configuration_parameter_value()
CORBA::Any * SDOPackage::Configuration_impl::get_configuration_parameter_value |
( |
const char * | name | ) |
|
|
override |
[CORBA interface] Configuration parameter の値の取得
このオペレーションは引数 "name" で指定されたパラメータ値を返す。
- 引数
-
- 戻り値
- 指定されたパラメータの値。
- 例外
-
SDONotExists | ターゲットのSDOが存在しない。(本例外は、CORBA標準 システム例外のOBJECT_NOT_EXISTにマッピングされる) |
InvalidParameter | 引数 "name" が null である。 もしくは "name" に関連付けられたパラメータが存在しない。 |
NotAvailable | SDOは存在するが応答がない。 |
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にマッピングされる) |
NotAvailable | SDOは存在するが応答がない。 |
InternalError | 内部的エラーが発生した。 |
◆ get_configuration_parameters()
ParameterList * SDOPackage::Configuration_impl::get_configuration_parameters |
( |
| ) |
|
|
override |
[CORBA interface] 設定パラメータのリストの取得
このオペレーションは configuration parameter のリストを返す。 SDO が設定可能なパラメータを持たなければ空のリストを返す。
- 戻り値
- 設定を特徴付けるパラメータ定義のリスト。
- 例外
-
SDONotExists | ターゲットのSDOが存在しない。(本例外は、CORBA標準 システム例外のOBJECT_NOT_EXISTにマッピングされる) |
NotAvailable | SDOは存在するが応答がない。 |
InternalError | 内部的エラーが発生した。 |
◆ get_configuration_set()
ConfigurationSet * SDOPackage::Configuration_impl::get_configuration_set |
( |
const char * | id | ) |
|
|
override |
[CORBA interface] ConfigurationSet の取得
このオペレーションは引数で指定された ConfigurationSet の ID に関連 付けられた ConfigurationSet を返す。
- 引数
-
- 戻り値
- 引数により指定された ConfigurationSet。
- 例外
-
SDONotExists | ターゲットのSDOが存在しない。(本例外は、CORBA標準 システム例外のOBJECT_NOT_EXISTにマッピングされる) |
InvalidParameter | "config_id" が null か、指定された ConfigurationSet が存在しない。 |
NotAvailable | SDOは存在するが応答がない。 |
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にマッピングされる) |
NotAvailable | SDOは存在するが応答がない。 |
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 を削除する。
- 引数
-
- 戻り値
- オペレーションが成功したかどうか。
- 例外
-
SDONotExists | ターゲットのSDOが存在しない。(本例外は、CORBA標準 システム例外のOBJECT_NOT_EXISTにマッピングされる) |
InvalidParameter | 引数 "configurationSetID" が null である、 もしくは、引数で指定された ConfigurationSet が存在しない。 |
NotAvailable | SDOは存在するが応答がない。 |
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 が存在しない。 |
NotAvailable | SDOは存在するが応答がない。 |
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 が存在しない。 |
NotAvailable | SDOは存在するが応答がない。 |
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" に関連付けられたパラメータが存在しない。 |
NotAvailable | SDOは存在するが応答がない。 |
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 を返す。
- 例外
-
InvalidParameter | config_id が null か、 指定された id で格納された ConfigurationSetが 存在しないか、指定された configuration_set内 の属性の1つが不正。 |
SDONotExists | ターゲットのSDOが存在しない。(本例外は、CORBA標準 システム例外のOBJECT_NOT_EXISTにマッピングされる) |
NotAvailable | SDOは存在するが応答がない。 |
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 をすでに保持している場合は既存のものと置き換える。
- 引数
-
dProfile | SDO に関連付けられる DeviceProfile。 |
- 戻り値
- オペレーションが成功したかどうかを返す。
- 例外
-
SDONotExists | ターゲットのSDOが存在しない。(本例外は、CORBA標準 システム例外のOBJECT_NOT_EXISTにマッピングされる) |
NotAvailable | SDOは存在するが応答がない。 |
InvalidParameter | 引数 "dProfile" が null である。 |
InternalError | 内部的エラーが発生した。 |
◆ m_config_mutex
std::mutex SDOPackage::Configuration_impl::m_config_mutex |
|
protected |
◆ m_configsets
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 |
◆ 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
Lock 付き SDO Service 管理オブジェクト
◆ m_sdoservice_mutex
std::mutex SDOPackage::Configuration_impl::m_sdoservice_mutex |
|
protected |
◆ rtclog
このクラス詳解は次のファイルから抽出されました: