IORManipulation.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 // IORManipulation.h,v 1.16 2006/03/10 07:19:11 jtc Exp
00003 
00004 // ============================================================================
00005 //
00006 // = LIBRARY
00007 //    TAO
00008 //
00009 // = FILENAME
00010 //    IORManipulation.h
00011 //
00012 // = DESCRIPTION
00013 //    This class implements IOR interface to the ORB
00014 //
00015 // = AUTHOR
00016 //     Fred Kuhns <fredk@cs.wustl.edu>
00017 //
00018 // ============================================================================
00019 
00020 #ifndef TAO_IOR_MANIPULATION_H
00021 #define TAO_IOR_MANIPULATION_H
00022 
00023 #include /**/ "ace/pre.h"
00024 
00025 #include "tao/LocalObject.h"
00026 #include "tao/IORManipulation/IORManip_Loader.h"
00027 
00028 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00029 # pragma once
00030 #endif /* ACE_LACKS_PRAGMA_ONCE */
00031 
00032 #include "tao/IORManipulation/IORC.h"
00033 
00034 #if defined(_MSC_VER)
00035 #pragma warning(push)
00036 #pragma warning(disable:4250)
00037 #endif /* _MSC_VER */
00038 
00039 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00040 
00041 class TAO_IOR_Manipulation_impl
00042   : public TAO_IOP::TAO_IOR_Manipulation,
00043     public TAO_Local_RefCounted_Object
00044 {
00045   // = TITLE
00046   //     IOR Manipulation class
00047   //
00048   // = DESCRIPTION
00049   //
00050   //
00051 public:
00052 
00053   TAO_IOR_Manipulation_impl (void);
00054   // constructor
00055 
00056   virtual CORBA::Object_ptr merge_iors (
00057     const TAO_IOP::TAO_IOR_Manipulation::IORList & iors
00058     ACE_ENV_ARG_DECL_WITH_DEFAULTS)
00059       ACE_THROW_SPEC ((
00060         CORBA::SystemException,
00061         TAO_IOP::EmptyProfileList,
00062         TAO_IOP::Duplicate,
00063         TAO_IOP::Invalid_IOR
00064       ));
00065 
00066   virtual CORBA::Object_ptr add_profiles (
00067       CORBA::Object_ptr ior1,
00068       CORBA::Object_ptr ior2
00069       ACE_ENV_ARG_DECL_WITH_DEFAULTS)
00070       ACE_THROW_SPEC ((
00071         CORBA::SystemException,
00072         TAO_IOP::EmptyProfileList,
00073         TAO_IOP::Duplicate,
00074         TAO_IOP::Invalid_IOR
00075       ));
00076 
00077   virtual CORBA::Object_ptr remove_profiles (
00078     CORBA::Object_ptr group,
00079     CORBA::Object_ptr ior2
00080     ACE_ENV_ARG_DECL_WITH_DEFAULTS)
00081       ACE_THROW_SPEC ((
00082         CORBA::SystemException,
00083         TAO_IOP::Invalid_IOR,
00084         TAO_IOP::EmptyProfileList,
00085         TAO_IOP::NotFound
00086       ));
00087 
00088   virtual CORBA::Boolean set_property (
00089       TAO_IOP::TAO_IOR_Property_ptr prop,
00090       CORBA::Object_ptr group
00091       ACE_ENV_ARG_DECL_WITH_DEFAULTS)
00092 
00093     ACE_THROW_SPEC ((
00094       CORBA::SystemException,
00095       TAO_IOP::Invalid_IOR,
00096       TAO_IOP::Duplicate
00097     ));
00098 
00099   // @@ note awkward argument order
00100   virtual CORBA::Boolean set_primary (
00101       TAO_IOP::TAO_IOR_Property_ptr prop,
00102       CORBA::Object_ptr new_primary,
00103       CORBA::Object_ptr group
00104       ACE_ENV_ARG_DECL_WITH_DEFAULTS)
00105 
00106     ACE_THROW_SPEC ((
00107       CORBA::SystemException,
00108       TAO_IOP::Invalid_IOR,
00109       TAO_IOP::Duplicate,
00110       TAO_IOP::MultiProfileList
00111     ));
00112 
00113   virtual CORBA::Object_ptr get_primary (
00114       TAO_IOP::TAO_IOR_Property_ptr prop,
00115       CORBA::Object_ptr group
00116       ACE_ENV_ARG_DECL_WITH_DEFAULTS)
00117 
00118     ACE_THROW_SPEC ((
00119       CORBA::SystemException,
00120       TAO_IOP::NotFound
00121     ));
00122 
00123   virtual CORBA::Boolean is_primary_set (
00124       TAO_IOP::TAO_IOR_Property_ptr prop,
00125       CORBA::Object_ptr group
00126       ACE_ENV_ARG_DECL_WITH_DEFAULTS)
00127 
00128     ACE_THROW_SPEC ((
00129       CORBA::SystemException
00130     ));
00131 
00132    virtual CORBA::Boolean remove_primary_tag (
00133        TAO_IOP::TAO_IOR_Property_ptr prop,
00134        CORBA::Object_ptr iogr
00135        ACE_ENV_ARG_DECL_WITH_DEFAULTS)
00136     ACE_THROW_SPEC ((
00137       CORBA::SystemException
00138     ));
00139 
00140   virtual CORBA::ULong is_in_ior (
00141     CORBA::Object_ptr ior1,
00142     CORBA::Object_ptr ior2
00143     ACE_ENV_ARG_DECL_WITH_DEFAULTS)
00144       ACE_THROW_SPEC ((
00145         CORBA::SystemException,
00146         TAO_IOP::NotFound
00147       ));
00148 
00149   virtual CORBA::ULong get_profile_count (
00150     CORBA::Object_ptr group
00151     ACE_ENV_ARG_DECL_WITH_DEFAULTS)
00152       ACE_THROW_SPEC ((
00153         CORBA::SystemException,
00154         TAO_IOP::EmptyProfileList
00155       ));
00156 
00157 protected:
00158 
00159   ~TAO_IOR_Manipulation_impl (void);
00160   // destructor
00161 
00162 };
00163 
00164 TAO_END_VERSIONED_NAMESPACE_DECL
00165 
00166 #if defined(_MSC_VER)
00167 #pragma warning(pop)
00168 #endif /* _MSC_VER */
00169 
00170 #include /**/ "ace/post.h"
00171 
00172 #endif /* TAO_IOR_MANIPULATION_H */

Generated on Thu Nov 9 13:06:05 2006 for TAO_IORManipulation by doxygen 1.3.6