IFR_Client_Adapter.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 //=============================================================================
00004 /**
00005  *  @file    IFR_Client_Adapter.h
00006  *
00007  *  IFR_Client_Adapter.h,v 1.17 2005/11/02 07:13:03 ossama Exp
00008  *
00009  *  @author  Jeff Parsons <parsons@cs.wustl.edu>
00010  */
00011 //=============================================================================
00012 
00013 
00014 #ifndef TAO_IFR_CLIENT_ADAPTER_H
00015 #define TAO_IFR_CLIENT_ADAPTER_H
00016 
00017 #include /**/ "ace/pre.h"
00018 #include "ace/CORBA_macros.h"
00019 
00020 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00021 # pragma once
00022 #endif /* ACE_LACKS_PRAGMA_ONCE */
00023 
00024 #include "ace/Service_Object.h"
00025 
00026 #include "tao/TAO_Export.h"
00027 #include "tao/Basic_Types.h"
00028 #include "tao/orbconf.h"
00029 
00030 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00031 
00032 class TAO_OutputCDR;
00033 
00034 namespace CORBA
00035 {
00036   class InterfaceDef;
00037   typedef InterfaceDef *InterfaceDef_ptr;
00038 
00039   class ORB;
00040   typedef ORB *ORB_ptr;
00041 
00042   class Object;
00043   typedef Object *Object_ptr;
00044 
00045   class OperationDef;
00046   typedef OperationDef *OperationDef_ptr;
00047 
00048   class NVList;
00049   typedef NVList *NVList_ptr;
00050 
00051   class Environment;
00052 }
00053 
00054 /**
00055  * @class TAO_IFR_Client_Adapter
00056  *
00057  * @brief TAO_IFR_Client_Adapter.
00058  *
00059  * Class that adapts various functions in the CORBA namespace
00060  * which use the Interface Repository. This is a base class for
00061  * the actual implementation in the TAO_IFR_Client library.
00062  */
00063 class TAO_Export TAO_IFR_Client_Adapter : public ACE_Service_Object
00064 {
00065 public:
00066   virtual CORBA::Boolean interfacedef_cdr_insert (
00067       TAO_OutputCDR &cdr,
00068       CORBA::InterfaceDef_ptr object_type
00069     ) = 0;
00070 
00071   virtual void interfacedef_any_insert (
00072       CORBA::Any *any,
00073       CORBA::InterfaceDef_ptr object_type
00074     ) = 0;
00075 
00076   virtual void dispose (
00077       CORBA::InterfaceDef_ptr orphan
00078     ) = 0;
00079 
00080   virtual CORBA::InterfaceDef_ptr get_interface (
00081       CORBA::ORB_ptr orb,
00082       const char *repo_id
00083       ACE_ENV_ARG_DECL
00084     ) = 0;
00085 
00086   virtual CORBA::InterfaceDef_ptr get_interface_remote (
00087       CORBA::Object_ptr target
00088       ACE_ENV_ARG_DECL
00089     ) = 0;
00090 
00091 #if (TAO_HAS_MINIMUM_CORBA == 0)
00092   virtual void create_operation_list (
00093                CORBA::ORB_ptr orb,
00094                CORBA::OperationDef_ptr,
00095                CORBA::NVList_ptr&
00096                ACE_ENV_ARG_DECL
00097              ) = 0;
00098 #endif /*TAO_HAS_MINIMUM_CORBA*/
00099 };
00100 
00101 TAO_END_VERSIONED_NAMESPACE_DECL
00102 
00103 #include /**/ "ace/post.h"
00104 #endif /* TAO_IFR_CLIENT_ADAPTER_H */

Generated on Thu Nov 9 11:54:12 2006 for TAO by doxygen 1.3.6