Collocation_Proxy_Broker.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 //=============================================================================
00004 /**
00005  *  @file   Collocation_Proxy_Broker.h
00006  *
00007  *  $Id: Collocation_Proxy_Broker.h 81175 2008-03-31 16:19:46Z vzykov $
00008  *
00009  *
00010  *  @author Balachandran Natarajan <bala@dre.vanderbilt.edu>
00011  */
00012 //=============================================================================
00013 
00014 #ifndef TAO_COLLOCATION_PROXY_BROKER_H
00015 #define TAO_COLLOCATION_PROXY_BROKER_H
00016 
00017 #include /**/ "ace/pre.h"
00018 
00019 #include /**/ "tao/TAO_Export.h"
00020 
00021 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00022 # pragma once
00023 #endif /* ACE_LACKS_PRAGMA_ONCE */
00024 
00025 #include "tao/Collocation_Strategy.h"
00026 #include /**/ "tao/Versioned_Namespace.h"
00027 
00028 #include "ace/os_include/os_stddef.h"
00029 
00030 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00031 
00032 template<typename T> class TAO_Pseudo_Var_T;
00033 template<typename T> class TAO_Pseudo_Out_T;
00034 
00035 namespace CORBA
00036 {
00037   class Object;
00038   typedef Object *Object_ptr;
00039   typedef TAO_Pseudo_Var_T<Object> Object_var;
00040   typedef TAO_Pseudo_Out_T<Object> Object_out;
00041 }
00042 
00043 namespace TAO
00044 {
00045   class Argument;
00046 
00047   /**
00048    * @class Collocation_Proxy_Broker
00049    */
00050   class TAO_Export Collocation_Proxy_Broker
00051   {
00052 
00053   public:
00054 
00055     virtual ~Collocation_Proxy_Broker (void);
00056 
00057     virtual Collocation_Strategy get_strategy (CORBA::Object_ptr obj) = 0;
00058 
00059     virtual void dispatch (CORBA::Object_ptr obj,
00060                            CORBA::Object_out forward_obj,
00061                            bool & is_forwarded,
00062                            Argument ** args,
00063                            int num_args,
00064                            const char * op,
00065                            size_t op_len,
00066                            Collocation_Strategy strategy) = 0;
00067   };
00068 
00069 TAO_END_VERSIONED_NAMESPACE_DECL
00070 }
00071 
00072 #include /**/ "ace/post.h"
00073 
00074 #endif /*TAO_COLLOCATION_PROXY_BROKER_H */

Generated on Tue Feb 2 17:37:51 2010 for TAO by  doxygen 1.4.7