00001 // -*- C++ -*- 00002 00003 //============================================================================= 00004 /** 00005 * @file Direct_Collocation_Upcall_Wrapper.h 00006 * 00007 * $Id: Direct_Collocation_Upcall_Wrapper.h 81175 2008-03-31 16:19:46Z vzykov $ 00008 * 00009 * @author Johnny Willemsen 00010 */ 00011 //============================================================================= 00012 00013 #ifndef TAO_DIRECT_COLLOCATION_UPCALL_WRAPPER_H 00014 #define TAO_DIRECT_COLLOCATION_UPCALL_WRAPPER_H 00015 00016 #include /**/ "ace/pre.h" 00017 00018 #include "tao/PortableServer/portableserver_export.h" 00019 00020 #ifndef ACE_LACKS_PRAGMA_ONCE 00021 # pragma once 00022 #endif /* !ACE_LACKS_PRAGMA_ONCE */ 00023 00024 #include "tao/Basic_Types.h" 00025 #include "tao/orbconf.h" 00026 #include "tao/Collocation_Strategy.h" 00027 #include "tao/Exception.h" 00028 #include "tao/CORBA_methods.h" 00029 #include "tao/Pseudo_VarOut_T.h" 00030 00031 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00032 00033 namespace CORBA 00034 { 00035 class Object; 00036 typedef Object *Object_ptr; 00037 typedef TAO_Pseudo_Var_T<Object> Object_var; 00038 typedef TAO_Pseudo_Out_T<Object> Object_out; 00039 } 00040 00041 namespace TAO 00042 { 00043 class Argument; 00044 00045 /** 00046 * @class Direct_Collocation_Upcall_Wrapper 00047 * 00048 * @brief Wraps the activities direct collocation upcall 00049 * 00050 */ 00051 class TAO_PortableServer_Export Direct_Collocation_Upcall_Wrapper 00052 { 00053 public: 00054 00055 /// Perform the upcall 00056 void upcall ( 00057 CORBA::Object_ptr obj, 00058 CORBA::Object_out forward_obj, 00059 bool & is_forwarded, 00060 TAO::Argument ** args, 00061 int num_args, 00062 const char * op, 00063 size_t op_len, 00064 TAO::Collocation_Strategy strategy); 00065 }; 00066 00067 } // End namespace TAO 00068 00069 TAO_END_VERSIONED_NAMESPACE_DECL 00070 00071 #include /**/ "ace/post.h" 00072 00073 #endif /* TAO_DIRECT_COLLOCATION_UPCALL_WRAPPER_H */