OpenRTM-aist  1.2.1
クラス | 公開メンバ関数 | 限定公開変数類 | 全メンバ一覧
SDOPackage::Organization_impl クラス

SDO Organization 実装クラス [詳解]

#include <SdoOrganization.h>

SDOPackage::Organization_impl の継承関係図
Inheritance graph
[凡例]
SDOPackage::Organization_impl 連携図
Collaboration graph
[凡例]

クラス

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

公開メンバ関数

 Organization_impl (SDOSystemElement_ptr sdo)
 コンストラクタ [詳解]
 
virtual ~Organization_impl (void)
 仮想デストラクタ [詳解]
 
virtual char * get_organization_id () throw (CORBA::SystemException, InvalidParameter, NotAvailable, InternalError)
 [CORBA interface] Organization ID を取得する [詳解]
 
virtual CORBA::Boolean add_organization_property (const OrganizationProperty &org_property) throw (CORBA::SystemException, InvalidParameter, NotAvailable, InternalError)
 [CORBA interface] OrganizationProperty のセット [詳解]
 
virtual OrganizationProperty * get_organization_property () throw (CORBA::SystemException, NotAvailable, InternalError)
 [CORBA interface] OrganizationProperty の取得 [詳解]
 
virtual CORBA::Any * get_organization_property_value (const char *name) throw (CORBA::SystemException, InvalidParameter, NotAvailable, InternalError)
 [CORBA interface] OrganizationProperty の特定の値の取得 [詳解]
 
virtual CORBA::Boolean set_organization_property_value (const char *name, const CORBA::Any &value) throw (CORBA::SystemException, InvalidParameter, NotAvailable, InternalError)
 [CORBA interface] OrganizationProperty の値のセット [詳解]
 
virtual CORBA::Boolean remove_organization_property (const char *name) throw (CORBA::SystemException, InvalidParameter, NotAvailable, InternalError)
 [CORBA interface] OrganizationProperty の削除 [詳解]
 
virtual CORBA::Boolean add_members (const SDOList &sdo_list) throw (CORBA::SystemException, InvalidParameter, NotAvailable, InternalError)
 [CORBA interface] SDO メンバーの追加 [詳解]
 
virtual SDOList * get_members () throw (CORBA::SystemException, NotAvailable, InternalError)
 [CORBA interface] Organization のメンバーを取得する [詳解]
 
virtual CORBA::Boolean set_members (const SDOList &sdos) throw (CORBA::SystemException, InvalidParameter, NotAvailable, InternalError)
 [CORBA interface] SDO の セット [詳解]
 
virtual CORBA::Boolean remove_member (const char *id) throw (CORBA::SystemException, InvalidParameter, NotAvailable, InternalError)
 [CORBA interface] SDO メンバーの削除 [詳解]
 
virtual SDOSystemElement_ptr get_owner () throw (CORBA::SystemException, NotAvailable, InternalError)
 [CORBA interface] Organization のオーナーを取得する [詳解]
 
virtual CORBA::Boolean set_owner (SDOSystemElement_ptr sdo) throw (CORBA::SystemException, InvalidParameter, NotAvailable, InternalError)
 [CORBA interface] Organization にオーナーをセットする [詳解]
 
virtual DependencyType get_dependency () throw (CORBA::SystemException, NotAvailable, InternalError)
 [CORBA interface] Organization の DependencyType を取得 [詳解]
 
virtual CORBA::Boolean set_dependency (DependencyType dependency) throw (CORBA::SystemException, NotAvailable, InternalError)
 [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 プロパティ [詳解]
 
Mutex m_org_mutex
 

詳解

SDO Organization 実装クラス

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

から
0.4.0

構築子と解体子

SDOPackage::Organization_impl::Organization_impl ( SDOSystemElement_ptr  sdo)

コンストラクタ

コンストラクタ

virtual SDOPackage::Organization_impl::~Organization_impl ( void  )
virtual

仮想デストラクタ

仮想デストラクタ。

関数詳解

virtual CORBA::Boolean SDOPackage::Organization_impl::add_members ( const SDOList &  sdo_list)
throw (CORBA::SystemException,
InvalidParameter,
NotAvailable,
InternalError
)
virtual

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

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

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

SDOPackage::PeriodicECOrganizationで再実装されています。

virtual CORBA::Boolean SDOPackage::Organization_impl::add_organization_property ( const OrganizationProperty &  org_property)
throw (CORBA::SystemException,
InvalidParameter,
NotAvailable,
InternalError
)
virtual

[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内部的エラーが発生した。
virtual DependencyType SDOPackage::Organization_impl::get_dependency ( )
throw (CORBA::SystemException,
NotAvailable,
InternalError
)
virtual

[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内部的エラーが発生した。
virtual SDOList* SDOPackage::Organization_impl::get_members ( )
throw (CORBA::SystemException,
NotAvailable,
InternalError
)
virtual

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

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

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

[CORBA interface] Organization ID を取得する

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

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

[CORBA interface] OrganizationProperty の取得

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

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

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

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

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

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

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

戻り値
オーナーオブジェクトへの参照。
例外
SDONotExistsターゲットのSDOが存在しない。(本例外は、CORBA標準 システム例外のOBJECT_NOT_EXISTにマッピングされる)
NotAvailableSDOは存在するが応答がない。
InternalError内部的エラーが発生した。
Organization_ptr SDOPackage::Organization_impl::getObjRef ( void  )
inline
virtual CORBA::Boolean SDOPackage::Organization_impl::remove_member ( const char *  id)
throw (CORBA::SystemException,
InvalidParameter,
NotAvailable,
InternalError
)
virtual

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

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

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

SDOPackage::PeriodicECOrganizationで再実装されています。

virtual CORBA::Boolean SDOPackage::Organization_impl::remove_organization_property ( const char *  name)
throw (CORBA::SystemException,
InvalidParameter,
NotAvailable,
InternalError
)
virtual

[CORBA interface] OrganizationProperty の削除

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

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

[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内部的エラーが発生した。
virtual CORBA::Boolean SDOPackage::Organization_impl::set_members ( const SDOList &  sdos)
throw (CORBA::SystemException,
InvalidParameter,
NotAvailable,
InternalError
)
virtual

[CORBA interface] SDO の セット

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

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

SDOPackage::PeriodicECOrganizationで再実装されています。

virtual CORBA::Boolean SDOPackage::Organization_impl::set_organization_property_value ( const char *  name,
const CORBA::Any &  value 
)
throw (CORBA::SystemException,
InvalidParameter,
NotAvailable,
InternalError
)
virtual

[CORBA interface] OrganizationProperty の値のセット

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

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

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

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

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

メンバ詳解

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 がある部屋にあり、互いに同等 な関係であり相互に通信可能な場合はこれにあたる。
SDOPackage::SDOList SDOPackage::Organization_impl::m_memberList
protected

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

Organization_var SDOPackage::Organization_impl::m_objref
protected
Mutex SDOPackage::Organization_impl::m_org_mutex
protected
SDOPackage::OrganizationProperty SDOPackage::Organization_impl::m_orgProperty
protected

Organization プロパティ

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

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

Organization の識別子

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

Organization の owner.

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

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