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

SDO Organization 実装クラス [詳解]

#include <SdoOrganization.h>

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

クラス

struct  nv_name
 NameValue用functor [詳解]
 
struct  sdo_id
 SDO用functor [詳解]
 

公開メンバ関数

 Organization_impl (SDOSystemElement_ptr sdo)
 コンストラクタ
 
 ~Organization_impl () override
 仮想デストラクタ
 
char * get_organization_id () override
 [CORBA interface] Organization ID を取得する
 
CORBA::Boolean add_organization_property (const OrganizationProperty &organization_property) override
 [CORBA interface] OrganizationProperty のセット
 
OrganizationProperty * get_organization_property () override
 [CORBA interface] OrganizationProperty の取得
 
CORBA::Any * get_organization_property_value (const char *name) override
 [CORBA interface] OrganizationProperty の特定の値の取得
 
CORBA::Boolean set_organization_property_value (const char *name, const CORBA::Any &value) override
 [CORBA interface] OrganizationProperty の値のセット
 
CORBA::Boolean remove_organization_property (const char *name) override
 [CORBA interface] OrganizationProperty の削除
 
CORBA::Boolean add_members (const SDOList &sdo_list) override
 [CORBA interface] SDO メンバーの追加
 
SDOList * get_members () override
 [CORBA interface] Organization のメンバーを取得する
 
CORBA::Boolean set_members (const SDOList &sdos) override
 [CORBA interface] SDO の セット
 
CORBA::Boolean remove_member (const char *id) override
 [CORBA interface] SDO メンバーの削除
 
SDOSystemElement_ptr get_owner () override
 [CORBA interface] Organization のオーナーを取得する
 
CORBA::Boolean set_owner (SDOSystemElement_ptr sdo) override
 [CORBA interface] Organization にオーナーをセットする
 
DependencyType get_dependency () override
 [CORBA interface] Organization の DependencyType を取得
 
CORBA::Boolean set_dependency (DependencyType dependency) override
 [CORBA interface] Organization の DependencyType をセットする
 
Organization_ptr getObjRef ()
 

限定公開変数類

::RTC::Logger rtclog
 
Organization_var m_objref
 
std::string m_pId
 Organization の識別子
 
SDOPackage::SDOList m_memberList
 Organization に関連付けられた SDO メンバのリスト
 
SDOPackage::SDOSystemElement_var m_varOwner
 Organization の owner
 
SDOPackage::DependencyType m_dependency
 依存関係のタイプ
 
SDOPackage::OrganizationProperty m_orgProperty
 Organization プロパティ
 
std::mutex m_org_mutex
 

詳解

SDO Organization 実装クラス

Organization interface は Resource Data Model で定義されたデータの 追加、削除等の操作を行うためのインターフェースである。

から
0.4.0

構築子と解体子

◆ Organization_impl()

SDOPackage::Organization_impl::Organization_impl ( SDOSystemElement_ptr sdo)
explicit

コンストラクタ

コンストラクタ

◆ ~Organization_impl()

SDOPackage::Organization_impl::~Organization_impl ( )
override

仮想デストラクタ

仮想デストラクタ。

関数詳解

◆ add_members()

CORBA::Boolean SDOPackage::Organization_impl::add_members ( const SDOList & sdo_list)
override

[CORBA interface] SDO メンバーの追加

Organization にメンバーとして SDO を追加する。 引数 "sdo" に追加するメンバー SDO を指定する。

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

◆ add_organization_property()

CORBA::Boolean SDOPackage::Organization_impl::add_organization_property ( const OrganizationProperty & organization_property)
override

[CORBA interface] OrganizationProperty のセット

SDO Specification の PIM 記述とオペレーション名が異なる。 ※ addOrganizationProperty に対応か?
OrganizationProperty を Organization に追加するオペレーション。 OrganizationProperty は Organization のプロパティ記述である。

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

◆ get_dependency()

DependencyType SDOPackage::Organization_impl::get_dependency ( )
override

[CORBA interface] Organization の DependencyType を取得

Organization の関係を表す "DependencyType" を返す。

戻り値
Organization の依存関係 DependencyType を返す。 DependencyType は OMG SDO 仕様の Section 2.2.2 2-3 ページの "Data Structures Used by Resource Data Model" を参照。
例外
SDONotExistsターゲットのSDOが存在しない。(本例外は、CORBA標準 システム例外のOBJECT_NOT_EXISTにマッピングされる)
NotAvailableSDOは存在するが応答がない。
InternalError内部的エラーが発生した。

◆ get_members()

SDOList * SDOPackage::Organization_impl::get_members ( )
override

[CORBA interface] Organization のメンバーを取得する

Organization のメンバーの SDO のリストを返す。 メンバーが存在しなければ空のリストを返す。

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

◆ get_organization_id()

char * SDOPackage::Organization_impl::get_organization_id ( )
override

[CORBA interface] Organization ID を取得する

Organization の ID を返すオペレーション。

戻り値
Resource Data Model で定義された Organization ID。
例外
SDONotExistsターゲットのSDOが存在しない。(本例外は、CORBA標準 システム例外のOBJECT_NOT_EXISTにマッピングされる)
NotAvailableSDOは存在するが応答がない。
InternalError内部的エラーが発生した。

◆ get_organization_property()

OrganizationProperty * SDOPackage::Organization_impl::get_organization_property ( )
override

[CORBA interface] OrganizationProperty の取得

Organization が所有する OrganizationProperty を返すオペレーション。 Organization がプロパティを持たなければ空のリストを返す。

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

◆ get_organization_property_value()

CORBA::Any * SDOPackage::Organization_impl::get_organization_property_value ( const char * name)
override

[CORBA interface] OrganizationProperty の特定の値の取得

OrganizationProperty の指定された値を返すオペレーション。 引数 "name" で指定されたプロパティの値を返す。

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

◆ get_owner()

SDOSystemElement_ptr SDOPackage::Organization_impl::get_owner ( )
override

[CORBA interface] Organization のオーナーを取得する

この Organization のオーナーへの参照を返す。

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

◆ getObjRef()

Organization_ptr SDOPackage::Organization_impl::getObjRef ( )

◆ remove_member()

CORBA::Boolean SDOPackage::Organization_impl::remove_member ( const char * id)
override

[CORBA interface] SDO メンバーの削除

Organization から引数で指定された "id" の SDO を削除する。

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

◆ remove_organization_property()

CORBA::Boolean SDOPackage::Organization_impl::remove_organization_property ( const char * name)
override

[CORBA interface] OrganizationProperty の削除

OrganizationProperty の NVList から特定のプロパティを削除する。 削除されるプロパティの名前は引数 "name" により指定される。

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

◆ set_dependency()

CORBA::Boolean SDOPackage::Organization_impl::set_dependency ( DependencyType dependency)
override

[CORBA interface] Organization の DependencyType をセットする

Organization の依存関係 "DependencyType" をセットする。 引数 "dependency" により依存関係を与える。

引数
dependencyOrganization の依存関係を表す DependencyType。 DependencyType は OMG SDO 仕様の Section 2.2.2、2-3 ページの "Data Structures Used by Resource Data Model" を参照。
戻り値
オペレーションが成功したかどうかを返す。
例外
SDONotExistsターゲットのSDOが存在しない。(本例外は、CORBA標準 システム例外のOBJECT_NOT_EXISTにマッピングされる)
InvalidParameter引数 "sProfile" が nullである。
NotAvailableSDOは存在するが応答がない。
InternalError内部的エラーが発生した。

◆ set_members()

CORBA::Boolean SDOPackage::Organization_impl::set_members ( const SDOList & sdos)
override

[CORBA interface] SDO の セット

SDO のリストを Organization のメンバーとしてセットする。 Organization がすでにメンバーの SDO を管理している場合は、 与えられた SDO のリストに置き換える。

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

◆ set_organization_property_value()

CORBA::Boolean SDOPackage::Organization_impl::set_organization_property_value ( const char * name,
const CORBA::Any & value )
override

[CORBA interface] OrganizationProperty の値のセット

OrganizationProperty の NVList に name と value のセットを追加もしくは 更新するオペレーション。name と value は引数 "name" と "value" により 指定する。

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

◆ set_owner()

CORBA::Boolean SDOPackage::Organization_impl::set_owner ( SDOSystemElement_ptr sdo)
override

[CORBA interface] Organization にオーナーをセットする

Organization に対して SDOSystemElement をオーナーとしてセットする。 引数 "sdo" にセットする SDOSystemElement を指定する。

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

メンバ詳解

◆ m_dependency

SDOPackage::DependencyType SDOPackage::Organization_impl::m_dependency
protected

依存関係のタイプ

Owner と member の依存関係を指定する属性。 Organization は以下のトポロジパターンを表現することができる。

  1. owner が member を管理する階層的構造。この場合 DependencyType は OWN という値を持つ。
  2. members が owner を管理する逆向きの階層的構造。この場合は DependencyType は OWNER という値を持つ。
  3. owner と member に依存関係がないフラットな構造。この場合は DependencyType は NO_DEPENDENCY という値を持つ。

SDO および SDOSystemElement のサブクラスは Organization の owner として 振舞うことが出来る。SDO が owner の場合にはOrganization は上記の いずれかのトポロジーパターンをとる。

  • Organization が 1. のトポロジーパターンを持つ場合、唯一つの owner SDO は member SDO を制御する。たとえば、エアコン(owner)は、 温度センサ(member)、湿度センサ(member)、風量制御器(member)を制御する。
  • Organization が 2. のトポロジを持つ場合は、複数の SDO member が唯一の SDO owner を共有する。たとえば、アンプ(owner)はいくつかのAV コンポーネント(member)から共有される。
  • SDO ではない SDOSystemElement のサブクラスが owner の場合、 以下のようなトポロジー例が考えられる。 – User(owner)-SDO(member): ユーザ(owner) は一つ以上の SDO(member)を 管理する。これは上記トポロジパタン1.にあたる。 – Location(owner)-SDO(members): 一つ以上の SDO(member) が特定の場所 = location(owner) で動作している場合、Organization のトポロジパターン は 3. の場合になる。たとえば、複数の PDA がある部屋にあり、互いに同等 な関係であり相互に通信可能な場合はこれにあたる。

◆ m_memberList

SDOPackage::SDOList SDOPackage::Organization_impl::m_memberList
protected

Organization に関連付けられた SDO メンバのリスト

◆ m_objref

Organization_var SDOPackage::Organization_impl::m_objref
protected

◆ m_org_mutex

std::mutex SDOPackage::Organization_impl::m_org_mutex
protected

◆ m_orgProperty

SDOPackage::OrganizationProperty SDOPackage::Organization_impl::m_orgProperty
protected

Organization プロパティ

OrganizationProperty は Organization のプロパティ情報を保持する。 一つの Organization は0個もしくは1個の OrganizationProperty をもつ。

◆ m_pId

std::string SDOPackage::Organization_impl::m_pId
protected

Organization の識別子

◆ m_varOwner

SDOPackage::SDOSystemElement_var SDOPackage::Organization_impl::m_varOwner
protected

Organization の owner

◆ rtclog

::RTC::Logger SDOPackage::Organization_impl::rtclog
protected

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