OpenRTM-aist  2.1.0
SdoOrganization.h
[詳解]
1 // -*- C++ -*-
20 #ifndef RTC_SDOORGANIZATION_H
21 #define RTC_SDOORGANIZATION_H
22 
23 #include <rtm/RTC.h>
24 #include <rtm/idl/SDOPackageSkel.h>
25 #include <rtm/SystemLogger.h>
26 
27 #include <mutex>
28 
29 #include <string>
30 
46 namespace SDOPackage
47 {
72  : public virtual POA_SDOPackage::Organization,
73  public virtual PortableServer::RefCountServantBase
74  {
75  public:
91 #ifdef ORB_IS_RTORB
92  explicit Organization_impl(RTC::RTObject_ptr sdo);
93 #endif // ORB_IS_RTROB
94  explicit Organization_impl(SDOSystemElement_ptr sdo);
95 
111  ~Organization_impl() override;
112 
113  //============================================================
114  //
115  // <<< CORBA interfaces >>>
116  //
117  //============================================================
147  char* get_organization_id() override;
148 
191  CORBA::Boolean
192  add_organization_property(const OrganizationProperty& organization_property) override;
193 
226  OrganizationProperty* get_organization_property() override;
227 
267  CORBA::Any* get_organization_property_value(const char* name) override;
268 
313  CORBA::Boolean
314  set_organization_property_value(const char* name, const CORBA::Any& value) override;
315 
356  CORBA::Boolean remove_organization_property(const char* name) override;
357 
395  CORBA::Boolean add_members(const SDOList& sdo_list) override;
396 
429  SDOList* get_members() override;
430 
474  CORBA::Boolean set_members(const SDOList& sdos) override;
475 
512  CORBA::Boolean remove_member(const char* id) override;
513 
544  SDOSystemElement_ptr get_owner() override;
545 
587  CORBA::Boolean set_owner(SDOSystemElement_ptr sdo) override;
588 
624  DependencyType get_dependency() override;
625 
668  CORBA::Boolean set_dependency(DependencyType dependency) override;
669 
670  // end of CORBA interface definition
671  //============================================================
672  Organization_ptr getObjRef();
673 
674  protected:
676  Organization_var m_objref;
684  std::string m_pId;
685 
693  SDOPackage::SDOList m_memberList;
694 
702  SDOPackage::SDOSystemElement_var m_varOwner;
703 
778  SDOPackage::DependencyType m_dependency;
779 
798  SDOPackage::OrganizationProperty m_orgProperty;
799  std::mutex m_org_mutex;
800 
808  struct nv_name
809  {
810  explicit nv_name(const char* name) : m_name(name) {}
811  bool operator()(const NameValue& nv)
812  {
813  return m_name == std::string(nv.name);
814  }
815  std::string m_name;
816  }; // struct nv_name
817 
825  struct sdo_id
826  {
827  explicit sdo_id(const char* id) : m_id(id) {}
828 #ifdef ORB_IS_ORBEXPRESS
829  bool operator()(const SDO_var sdo)
830 #else
831  bool operator()(const SDO_ptr sdo)
832 #endif
833  {
834  CORBA::String_var id(sdo->get_sdo_id());
835 
836  return m_id == (const char*)id;
837  }
838  std::string m_id;
839  }; // struct sdo_id
840  }; // class Organization_impl
841 } // namespace SDOPackage
842 
843 #endif // RTC_NAMESPACE SDOPACKAGE
RTComponent header
RT component logger class
Logger クラス
Definition: SystemLogger.h:101
SDO Organization 実装クラス
Definition: SdoOrganization.h:74
char * get_organization_id() override
[CORBA interface] Organization ID を取得する
CORBA::Boolean remove_member(const char *id) override
[CORBA interface] SDO メンバーの削除
OrganizationProperty * get_organization_property() override
[CORBA interface] OrganizationProperty の取得
CORBA::Boolean set_organization_property_value(const char *name, const CORBA::Any &value) override
[CORBA interface] OrganizationProperty の値のセット
::RTC::Logger rtclog
Definition: SdoOrganization.h:675
Organization_ptr getObjRef()
std::string m_pId
Organization の識別子
Definition: SdoOrganization.h:684
Organization_var m_objref
Definition: SdoOrganization.h:676
CORBA::Boolean set_members(const SDOList &sdos) override
[CORBA interface] SDO の セット
SDOPackage::DependencyType m_dependency
依存関係のタイプ
Definition: SdoOrganization.h:778
CORBA::Boolean set_dependency(DependencyType dependency) override
[CORBA interface] Organization の DependencyType をセットする
Organization_impl(SDOSystemElement_ptr sdo)
コンストラクタ
CORBA::Boolean add_members(const SDOList &sdo_list) override
[CORBA interface] SDO メンバーの追加
CORBA::Boolean set_owner(SDOSystemElement_ptr sdo) override
[CORBA interface] Organization にオーナーをセットする
SDOPackage::SDOList m_memberList
Organization に関連付けられた SDO メンバのリスト
Definition: SdoOrganization.h:693
~Organization_impl() override
仮想デストラクタ
SDOPackage::OrganizationProperty m_orgProperty
Organization プロパティ
Definition: SdoOrganization.h:798
CORBA::Boolean remove_organization_property(const char *name) override
[CORBA interface] OrganizationProperty の削除
SDOPackage::SDOSystemElement_var m_varOwner
Organization の owner
Definition: SdoOrganization.h:702
std::mutex m_org_mutex
Definition: SdoOrganization.h:799
SDOList * get_members() override
[CORBA interface] Organization のメンバーを取得する
DependencyType get_dependency() override
[CORBA interface] Organization の DependencyType を取得
CORBA::Boolean add_organization_property(const OrganizationProperty &organization_property) override
[CORBA interface] OrganizationProperty のセット
SDOSystemElement_ptr get_owner() override
[CORBA interface] Organization のオーナーを取得する
CORBA::Any * get_organization_property_value(const char *name) override
[CORBA interface] OrganizationProperty の特定の値の取得
SDO パッケージ
Definition: InPortConsumer.h:35
NameValue用functor
Definition: SdoOrganization.h:809
nv_name(const char *name)
Definition: SdoOrganization.h:810
std::string m_name
Definition: SdoOrganization.h:815
bool operator()(const NameValue &nv)
Definition: SdoOrganization.h:811
SDO用functor
Definition: SdoOrganization.h:826
bool operator()(const SDO_ptr sdo)
Definition: SdoOrganization.h:831
std::string m_id
Definition: SdoOrganization.h:838
sdo_id(const char *id)
Definition: SdoOrganization.h:827