00001 // -*- C++ -*- 00002 00003 // ================================================================ 00004 /** 00005 * @file Messaging.h 00006 * 00007 * $Id: Messaging.h 79859 2007-10-25 13:08:22Z mesnier_p $ 00008 * 00009 * Include all the required headers to use CORBA Messaging easily. 00010 * 00011 * @author Carlos O'Ryan <coryan@uci.edu> 00012 */ 00013 // ================================================================ 00014 00015 #ifndef TAO_MESSAGING_H 00016 #define TAO_MESSAGING_H 00017 00018 #include /**/ "ace/pre.h" 00019 00020 #include "tao/Messaging/messaging_export.h" 00021 00022 #define TAO_MESSAGING_SAFE_INCLUDE 00023 #include "tao/Messaging/MessagingC.h" 00024 #undef TAO_MESSAGING_SAFE_INCLUDE 00025 00026 #include "tao/Messaging/MessagingA.h" 00027 #include "tao/Messaging/TAO_ExtC.h" 00028 #include "tao/Policy_CurrentC.h" 00029 #include "tao/Policy_ManagerC.h" 00030 #include "tao/TAOC.h" 00031 00032 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00033 00034 class TAO_Messaging_Export TAO_Messaging_Initializer 00035 { 00036 public: 00037 /// Used to force the initialisation of the ORB code. 00038 static int init (void); 00039 }; 00040 00041 static int 00042 TAO_Requires_Messaging_Initializer = TAO_Messaging_Initializer::init (); 00043 00044 // Typedef for the Reply Handler Skeleton. 00045 // This is handcrafted not generated by the IDL compiler. 00046 00047 class TAO_InputCDR; 00048 00049 enum TAO_AMI_Reply_Status 00050 { 00051 /// Reply is normal. 00052 TAO_AMI_REPLY_OK, 00053 00054 /// Reply is not normal and no exceptions 00055 TAO_AMI_REPLY_NOT_OK, 00056 00057 /// An user exception was raised. 00058 TAO_AMI_REPLY_USER_EXCEPTION, 00059 00060 /// An system exception was raised. 00061 TAO_AMI_REPLY_SYSTEM_EXCEPTION, 00062 00063 /// A location forward exception was raised. 00064 TAO_AMI_REPLY_LOCATION_FORWARD, 00065 00066 /// A location forward perm exception was raised. 00067 TAO_AMI_REPLY_LOCATION_FORWARD_PERM 00068 }; 00069 00070 00071 typedef void (*TAO_Reply_Handler_Stub)( 00072 TAO_InputCDR &, 00073 Messaging::ReplyHandler_ptr, 00074 CORBA::ULong reply_status); 00075 00076 TAO_END_VERSIONED_NAMESPACE_DECL 00077 00078 #include /**/ "ace/post.h" 00079 #endif /* TAO_MESSAGING_H */