00001
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033 #ifndef SdoOrganization_h
00034 #define SdoOrganization_h
00035
00036 #include "rtm/RTC.h"
00037
00038 #include "rtm/idl/SDOPackageSkel.h"
00039
00040
00041
00042
00043 namespace SDOPackage
00044 {
00045
00046 class Organization_impl
00047 {
00048 public:
00049 Organization_impl();
00050 virtual ~Organization_impl();
00051
00052
00053
00054
00055
00056
00081 virtual char* get_organization_id()
00082 throw (InvalidParameter, NotAvailable, InternalError);
00083
00111 virtual OrganizationProperty* get_organization_property()
00112 throw (NotAvailable, InternalError);
00113
00144 virtual CORBA::Any* get_organization_property_value(const char* name)
00145 throw (InvalidParameter, NotAvailable, InternalError);
00146
00181 virtual CORBA::Boolean
00182 set_organization_property(const OrganizationProperty& org_property)
00183 throw (InvalidParameter, NotAvailable, InternalError);
00184
00222 virtual CORBA::Boolean
00223 set_organization_property_value(const char* name, const CORBA::Any& value)
00224 throw (InvalidParameter, NotAvailable, InternalError);
00225
00259 virtual CORBA::Boolean remove_organization_property(const char* name)
00260 throw (InvalidParameter, NotAvailable, InternalError);
00261
00287 virtual SDOSystemElement_ptr get_owner()
00288 throw (NotAvailable, InternalError);
00289
00323 virtual CORBA::Boolean set_owner(SDOSystemElement_ptr sdo)
00324 throw (InvalidParameter, NotAvailable, InternalError);
00325
00353 virtual SDOList* get_members()
00354 throw (NotAvailable, InternalError);
00355
00392 virtual CORBA::Boolean set_members(const SDOList& sdos)
00393 throw (InvalidParameter, NotAvailable, InternalError);
00394
00425 virtual CORBA::Boolean add_members(const SDOList& sdo_list)
00426 throw (InvalidParameter, NotAvailable, InternalError);
00427
00457 virtual CORBA::Boolean remove_member(const char* id)
00458 throw (InvalidParameter, NotAvailable, InternalError);
00459
00490 virtual DependencyType get_dependency()
00491 throw (NotAvailable, InternalError);
00492
00528 virtual CORBA::Boolean set_dependency(DependencyType dependency)
00529 throw (NotAvailable, InternalError);
00530
00531
00532
00533
00534
00535
00536 protected:
00548 char* m_pId;
00549
00562 SDOPackage::SDOList m_memberList;
00563
00575 SDOPackage::SDOSystemElement_var m_varOwner;
00576
00651 SDOPackage::DependencyType m_dependency;
00652
00675 SDOPackage::OrganizationProperty m_orgProperty;
00676 ACE_Thread_Mutex m_org_mutex;
00677
00678 typedef ACE_Guard<ACE_Thread_Mutex> Guard;
00679
00680 struct nv_name
00681 {
00682 nv_name(const char* name) : m_name(name) {};
00683 bool operator()(const NameValue& nv)
00684 {
00685 return m_name == std::string(nv.name);
00686 }
00687 std::string m_name;
00688 };
00689
00690 struct sdo_id
00691 {
00692 sdo_id(const char* id) : m_id(id) {};
00693 bool operator()(const SDO_ptr sdo)
00694 {
00695 std::string id(sdo->get_sdo_id());
00696 return m_id == id;
00697 }
00698 std::string m_id;
00699 };
00700 };
00701
00702
00703 };
00704
00705 #endif // namespace SDOPackage