OpenRTM-aist 2.0.2
Loading...
Searching...
No Matches
SdoConfiguration.h
Go to the documentation of this file.
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 class.
Definition ConfigAdmin.h:612
Logger class.
Definition SystemLogger.h:101
Definition SdoServiceAdmin.h:151
Configuration implementation class.
Definition SdoConfiguration.h:152
OrganizationList getOrganizations()
Get a list of Organization of SDO.
DeviceProfile getDeviceProfile()
Get the DeviceProfile of SDO.
CORBA::Boolean set_configuration_set_values(const ConfigurationSet &configuration_set) override
[CORBA interface] Set ConfigurationSet
std::mutex m_dprofile_mutex
Definition SdoConfiguration.h:986
Configuration_var m_objref
The reference to CORBA object .
Definition SdoConfiguration.h:976
OrganizationList m_organizations
SDO OrganizationList with mutex lock .
Definition SdoConfiguration.h:1087
CORBA::Boolean remove_service_profile(const char *id) override
[CORBA interface] Remove ServiceProfile
ConfigurationSetList * get_configuration_sets() override
[CORBA interface] Get a list of ConfigurationSet
~Configuration_impl() override
Virtual destractor.
Configuration_impl(RTC::ConfigAdmin &configsets, RTC::SdoServiceAdmin &sdoServiceAdmin)
Constructor.
static std::string getUUID()
Generate UUID.
ParameterList * get_configuration_parameters() override
[CORBA interface] Get a list of configuration parameters
DeviceProfile m_deviceProfile
SDO DeviceProfile with mutex lock .
Definition SdoConfiguration.h:985
RTC::ConfigAdmin & m_configsets
SDO ConfigurationSetList with mutex lock .
Definition SdoConfiguration.h:1067
CORBA::Any * get_configuration_parameter_value(const char *name) override
[CORBA interface] Get the value of configuration parameter
Configuration_ptr getObjRef()
Get object reference.
::RTC::Logger rtclog
Definition SdoConfiguration.h:947
CORBA::Boolean add_service_profile(const ServiceProfile &sProfile) override
[CORBA interface] Set SDO's ServiceProfile
std::mutex m_params_mutex
Definition SdoConfiguration.h:1050
CORBA::Boolean add_configuration_set(const ConfigurationSet &configuration_set) override
[CORBA interface] Add ConfigurationSet
std::mutex m_org_mutex
Definition SdoConfiguration.h:1088
ConfigurationSet * get_configuration_set(const char *id) override
[CORBA interface] Get a ConfigurationSet
CORBA::Boolean set_device_profile(const DeviceProfile &dProfile) override
[CORBA interface] Set DeviceProfile of SDO
ConfigurationSet * get_active_configuration_set() override
[CORBA interface] Get active ConfigurationSet
CORBA::Boolean set_configuration_parameter(const char *name, const CORBA::Any &value) override
[CORBA interface] Modify the configuration parameter value
ParameterList m_parameters
SDO Parameter.
Definition SdoConfiguration.h:1049
NVList * get_configuration_parameter_values() override
[CORBA interface] Get a list of the value of configuration parameters
CORBA::Boolean remove_configuration_set(const char *id) override
[CORBA interface] Remove ConfigurationSet
CORBA::Boolean add_organization(Organization_ptr org) override
[CORBA interface] Add Organization
std::mutex m_config_mutex
Definition SdoConfiguration.h:1068
CORBA::Boolean remove_organization(const char *organization_id) override
[CORBA interface] Remove the reference of Organization
CORBA::Boolean activate_configuration_set(const char *id) override
[CORBA interface] Activate ConfigurationSet
RTC::SdoServiceAdmin & m_sdoservice
SDO Service admin object with mutex lock .
Definition SdoConfiguration.h:1077
std::mutex m_sdoservice_mutex
Definition SdoConfiguration.h:1078
SDO Package.
Definition InPortConsumer.h:35
Functor for ConfigurationSet .
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
Functor for NVList .
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
Functor for Organization .
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