OpenRTM-aist 2.0.2
読み取り中…
検索中…
一致する文字列を見つけられません
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
53namespace 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;
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
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
OrganizationList getOrganizations()
SDO の Organization リストを取得する
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
OrganizationList m_organizations
Lock 付き SDO OrganizationList
Definition SdoConfiguration.h:1087
CORBA::Boolean remove_service_profile(const char *id) override
[CORBA interface] ServiceProfile の削除
ConfigurationSetList * get_configuration_sets() override
[CORBA interface] ConfigurationSet リストの取得
~Configuration_impl() override
仮想デストラクタ
Configuration_impl(RTC::ConfigAdmin &configsets, RTC::SdoServiceAdmin &sdoServiceAdmin)
コンストラクタ
static std::string getUUID()
UUIDを生成する
ParameterList * get_configuration_parameters() override
[CORBA interface] 設定パラメータのリストの取得
DeviceProfile m_deviceProfile
Lock 付き SDO DeviceProfile
Definition SdoConfiguration.h:985
RTC::ConfigAdmin & m_configsets
Lock 付き SDO ConfigurationSetList
Definition SdoConfiguration.h:1067
CORBA::Any * get_configuration_parameter_value(const char *name) override
[CORBA interface] Configuration parameter の値の取得
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
ConfigurationSet * get_configuration_set(const char *id) override
[CORBA interface] ConfigurationSet の取得
CORBA::Boolean set_device_profile(const DeviceProfile &dProfile) override
[CORBA interface] SDO の DeviceProfile のセット
ConfigurationSet * get_active_configuration_set() override
[CORBA interface] アクティブな ConfigurationSet を取得する
CORBA::Boolean set_configuration_parameter(const char *name, const CORBA::Any &value) override
[CORBA interface] Configuration パラメータの変更
ParameterList m_parameters
SDO Parameter
Definition SdoConfiguration.h:1049
NVList * get_configuration_parameter_values() override
[CORBA interface] Configuration parameter の値のリストの取得
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