Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members

SdoOrganization.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00019 /*
00020  * $Log: SdoOrganization.h,v $
00021  * Revision 1.4  2007/01/21 13:05:21  n-ando
00022  * Some trivial fixes.
00023  *
00024  * Revision 1.3  2006/10/30 08:10:54  n-ando
00025  * CORBA sequence operations were replaced by CORBA_SeqUtil functions.
00026  *
00027  * Revision 1.2  2006/10/17 10:12:57  n-ando
00028  * Small fixes.
00029  *
00030  * Revision 1.1  2006/09/11 18:14:20  n-ando
00031  * The first commit.
00032  *
00033  *
00034  */
00035 
00036 #ifndef SdoOrganization_h
00037 #define SdoOrganization_h
00038 
00039 #include <rtm/RTC.h>
00040 #include <rtm/idl/SDOPackageSkel.h>
00041 #include <string>
00042 #include <ace/Guard_T.h>
00043 #include <ace/Thread_Mutex.h>
00044 
00045 // SdoOrganization.o 23788
00046 // 41892
00047 namespace SDOPackage
00048 {
00049   
00050   class Organization_impl 
00051   {
00052   public:
00053     Organization_impl();
00054     virtual ~Organization_impl();
00055 
00056     //============================================================
00057     //
00058     // <<< CORBA interfaces >>>
00059     //
00060     //============================================================
00085     virtual char* get_organization_id()
00086       throw (InvalidParameter, NotAvailable, InternalError);
00087 
00115     virtual OrganizationProperty* get_organization_property()
00116       throw (NotAvailable, InternalError);
00117 
00148     virtual CORBA::Any* get_organization_property_value(const char* name)
00149       throw (InvalidParameter, NotAvailable, InternalError);
00150 
00185     virtual CORBA::Boolean
00186     set_organization_property(const OrganizationProperty& org_property)
00187       throw (InvalidParameter, NotAvailable, InternalError);
00188 
00226     virtual CORBA::Boolean
00227     set_organization_property_value(const char* name, const CORBA::Any& value)
00228       throw (InvalidParameter, NotAvailable, InternalError);
00229 
00263     virtual CORBA::Boolean remove_organization_property(const char* name)
00264       throw (InvalidParameter, NotAvailable, InternalError);
00265 
00291     virtual SDOSystemElement_ptr get_owner()
00292       throw (NotAvailable, InternalError);
00293 
00327     virtual CORBA::Boolean set_owner(SDOSystemElement_ptr sdo)
00328       throw (InvalidParameter, NotAvailable, InternalError);
00329 
00357     virtual SDOList* get_members()
00358       throw (NotAvailable, InternalError);
00359 
00396     virtual CORBA::Boolean set_members(const SDOList& sdos)
00397       throw (InvalidParameter, NotAvailable, InternalError);
00398 
00429     virtual CORBA::Boolean add_members(const SDOList& sdo_list)
00430       throw (InvalidParameter, NotAvailable, InternalError);
00431 
00461     virtual CORBA::Boolean remove_member(const char* id)
00462       throw (InvalidParameter, NotAvailable, InternalError);
00463     
00494     virtual DependencyType get_dependency()
00495       throw (NotAvailable, InternalError);
00496 
00532     virtual CORBA::Boolean set_dependency(DependencyType dependency)
00533       throw (NotAvailable, InternalError);
00534 
00535     // end of CORBA interface definition
00536     //============================================================
00537 
00538 
00539     
00540   protected:
00552     char* m_pId;
00553 
00566     SDOPackage::SDOList m_memberList;
00567 
00579     SDOPackage::SDOSystemElement_var m_varOwner;
00580 
00655     SDOPackage::DependencyType m_dependency;
00656 
00679     SDOPackage::OrganizationProperty m_orgProperty;
00680     ACE_Thread_Mutex m_org_mutex;
00681 
00682     typedef ACE_Guard<ACE_Thread_Mutex> Guard;
00683 
00684     struct nv_name
00685     {
00686       nv_name(const char* name) : m_name(name) {};
00687       bool operator()(const NameValue& nv)
00688       {
00689         return m_name == std::string(nv.name);
00690       }
00691       std::string m_name;
00692     };
00693 
00694     struct sdo_id
00695     {
00696       sdo_id(const char* id) : m_id(id) {};
00697       bool operator()(const SDO_ptr sdo)
00698       {
00699         std::string id(sdo->get_sdo_id());
00700         return m_id == id;
00701       }
00702       std::string m_id;
00703     };
00704   };
00705   
00706   
00707 };
00708 
00709 #endif // namespace SDOPackage

Generated on Fri Oct 5 05:16:00 2007 for OpenRTM by  doxygen 1.4.1