OpenRTM-aist  2.1.0
SdoConfiguration.h
[詳解]
1 // -*- C++ -*-
20 #ifndef RTC_SDOCONFIGURATION_H
21 #define RTC_SDOCONFIGURATION_H
22 
23 // CORBA header include
24 #include <rtm/RTC.h>
25 #include <mutex>
26 
27 // local includes
28 #include <rtm/idl/SDOPackageSkel.h>
29 #include <rtm/ConfigAdmin.h>
30 #include <rtm/SystemLogger.h>
31 #include <rtm/SdoServiceAdmin.h>
32 
33 #include <string>
34 
35 // SdoConfiguration with SeqEx 159120
36 // SdoConfiguration with SeqUtil 114504 114224
37 
53 namespace SDOPackage
54 {
150  : public virtual POA_SDOPackage::Configuration,
151  public virtual PortableServer::RefCountServantBase
152  {
153  public:
174  RTC::SdoServiceAdmin& sdoServiceAdmin);
175 
192 
193  //============================================================
194  //
195  // <<< CORBA interfaces >>>
196  //
197  //============================================================
238  CORBA::Boolean set_device_profile(const DeviceProfile& dProfile) override;
239 
285  CORBA::Boolean add_service_profile(const ServiceProfile& sProfile) override;
286 
322  CORBA::Boolean add_organization(Organization_ptr org) override;
323 
366  CORBA::Boolean remove_service_profile(const char* id) override;
367 
407  CORBA::Boolean remove_organization(const char* organization_id) override;
408 
441  ParameterList* get_configuration_parameters() override;
442 
474 
515  CORBA::Any* get_configuration_parameter_value(const char* name) override;
516 
559  CORBA::Boolean set_configuration_parameter(const char* name,
560  const CORBA::Any& value) override;
561 
596  ConfigurationSetList* get_configuration_sets() override;
597 
638  ConfigurationSet* get_configuration_set(const char* id) override;
639 
688  ConfigurationSet* get_active_configuration_set() override;
689 
731  CORBA::Boolean
732  add_configuration_set(const ConfigurationSet& configuration_set) override;
733 
785  CORBA::Boolean
786  set_configuration_set_values(const ConfigurationSet& configuration_set) override;
787 
826  CORBA::Boolean remove_configuration_set(const char* id) override;
827 
878  CORBA::Boolean activate_configuration_set(const char* id) override;
879 
880  // end of CORBA interface definition
881  //============================================================
882 
902  Configuration_ptr getObjRef();
903 
923  DeviceProfile getDeviceProfile();
924 
944  OrganizationList getOrganizations();
945 
946  protected:
967  static std::string getUUID() ;
968 
976  Configuration_var m_objref;
977 
985  DeviceProfile m_deviceProfile;
986  std::mutex m_dprofile_mutex;
987 
1049  ParameterList m_parameters;
1050  std::mutex m_params_mutex;
1051 
1059  /*
1060  struct ConfigurationSet
1061  {
1062  string id;
1063  string description;
1064  NVList configuration_data;
1065  };
1066  */
1068  std::mutex m_config_mutex;
1069 
1079 
1087  OrganizationList m_organizations;
1088  std::mutex m_org_mutex;
1089 
1097  struct nv_name
1098  {
1099  explicit nv_name(const char* name) : m_name(name) {}
1100  bool operator()(const NameValue& nv)
1101  {
1102  return m_name == std::string(nv.name);
1103  }
1104  std::string m_name;
1105  };
1106 
1114  struct org_id
1115  {
1116  explicit org_id(const char* id) : m_id(id) {}
1117 #ifdef ORB_IS_ORBEXPRESS
1118  bool operator()(const Organization_var& o)
1119 #else
1120  bool operator()(const Organization_ptr& o)
1121 #endif
1122  {
1123  CORBA::String_var id(o->get_organization_id());
1124  return m_id == (const char *)id;
1125  }
1126  const std::string m_id;
1127  };
1128 
1136  struct config_id
1137  {
1138  explicit config_id(const char* id) : m_id(id) {}
1139  bool operator()(const ConfigurationSet& c)
1140  {
1141  std::string id(c.id);
1142  return m_id == id;
1143  }
1144  const std::string m_id;
1145  };
1146  }; // class Configuration_impl
1147 } // namespace SDOPackage
1148 
1149 #endif // RTC_SDOCONFIGURATION_H
Configuration Administration classes
RTComponent header
SDO service administration class
RT component logger class
ConfigAdmin クラス
Definition: ConfigAdmin.h:612
Logger クラス
Definition: SystemLogger.h:101
Definition: SdoServiceAdmin.h:151
SDO Configuration 実装クラス
Definition: SdoConfiguration.h:152
ConfigurationSetList * get_configuration_sets() override
[CORBA interface] ConfigurationSet リストの取得
OrganizationList getOrganizations()
SDO の Organization リストを取得する
ConfigurationSet * get_active_configuration_set() override
[CORBA interface] アクティブな ConfigurationSet を取得する
DeviceProfile getDeviceProfile()
SDO の DeviceProfile を取得する
CORBA::Boolean set_configuration_set_values(const ConfigurationSet &configuration_set) override
[CORBA interface] ConfigurationSet をセットする
std::mutex m_dprofile_mutex
Definition: SdoConfiguration.h:986
Configuration_var m_objref
CORBA オブジェクトへの参照
Definition: SdoConfiguration.h:976
NVList * get_configuration_parameter_values() override
[CORBA interface] Configuration parameter の値のリストの取得
OrganizationList m_organizations
Lock 付き SDO OrganizationList
Definition: SdoConfiguration.h:1087
CORBA::Boolean remove_service_profile(const char *id) override
[CORBA interface] ServiceProfile の削除
ParameterList * get_configuration_parameters() override
[CORBA interface] 設定パラメータのリストの取得
~Configuration_impl() override
仮想デストラクタ
Configuration_impl(RTC::ConfigAdmin &configsets, RTC::SdoServiceAdmin &sdoServiceAdmin)
コンストラクタ
static std::string getUUID()
UUIDを生成する
DeviceProfile m_deviceProfile
Lock 付き SDO DeviceProfile
Definition: SdoConfiguration.h:985
RTC::ConfigAdmin & m_configsets
Lock 付き SDO ConfigurationSetList
Definition: SdoConfiguration.h:1067
Configuration_ptr getObjRef()
オブジェクト リファレンスを取得する
::RTC::Logger rtclog
Definition: SdoConfiguration.h:947
CORBA::Boolean add_service_profile(const ServiceProfile &sProfile) override
[CORBA interface] SDO の ServiceProfile のセット
std::mutex m_params_mutex
Definition: SdoConfiguration.h:1050
CORBA::Boolean add_configuration_set(const ConfigurationSet &configuration_set) override
[CORBA interface] ConfigurationSet を追加する
std::mutex m_org_mutex
Definition: SdoConfiguration.h:1088
CORBA::Boolean set_device_profile(const DeviceProfile &dProfile) override
[CORBA interface] SDO の DeviceProfile のセット
ConfigurationSet * get_configuration_set(const char *id) override
[CORBA interface] ConfigurationSet の取得
CORBA::Boolean set_configuration_parameter(const char *name, const CORBA::Any &value) override
[CORBA interface] Configuration パラメータの変更
CORBA::Any * get_configuration_parameter_value(const char *name) override
[CORBA interface] Configuration parameter の値の取得
ParameterList m_parameters
SDO Parameter
Definition: SdoConfiguration.h:1049
CORBA::Boolean remove_configuration_set(const char *id) override
[CORBA interface] ConfigurationSet を削除する
CORBA::Boolean add_organization(Organization_ptr org) override
[CORBA interface] Organization の追加
std::mutex m_config_mutex
Definition: SdoConfiguration.h:1068
CORBA::Boolean remove_organization(const char *organization_id) override
[CORBA interface] Organization の参照の削除
CORBA::Boolean activate_configuration_set(const char *id) override
[CORBA interface] ConfigurationSet のアクティブ化
RTC::SdoServiceAdmin & m_sdoservice
Lock 付き SDO Service 管理オブジェクト
Definition: SdoConfiguration.h:1077
std::mutex m_sdoservice_mutex
Definition: SdoConfiguration.h:1078
SDO パッケージ
Definition: InPortConsumer.h:35
ConfigurationSet用functor
Definition: SdoConfiguration.h:1137
config_id(const char *id)
Definition: SdoConfiguration.h:1138
bool operator()(const ConfigurationSet &c)
Definition: SdoConfiguration.h:1139
const std::string m_id
Definition: SdoConfiguration.h:1144
NVList用functor
Definition: SdoConfiguration.h:1098
bool operator()(const NameValue &nv)
Definition: SdoConfiguration.h:1100
std::string m_name
Definition: SdoConfiguration.h:1104
nv_name(const char *name)
Definition: SdoConfiguration.h:1099
Organization用functor
Definition: SdoConfiguration.h:1115
org_id(const char *id)
Definition: SdoConfiguration.h:1116
bool operator()(const Organization_ptr &o)
Definition: SdoConfiguration.h:1120
const std::string m_id
Definition: SdoConfiguration.h:1126