00001 // -*- C++ -*- 00002 00003 //============================================================================= 00004 /** 00005 * @file UIPMC_Connector.h 00006 * 00007 * $Id: UIPMC_Connector.h 78934 2007-07-18 12:06:59Z johnnyw $ 00008 * 00009 * MIOP specific connector processing. 00010 * 00011 * @author Frank Hunleth <fhunleth@cs.wustl.edu> 00012 */ 00013 //============================================================================= 00014 00015 #ifndef TAO_UIPMC_CONNECTOR_H 00016 #define TAO_UIPMC_CONNECTOR_H 00017 00018 #include /**/ "ace/pre.h" 00019 00020 #include "orbsvcs/PortableGroup/portablegroup_export.h" 00021 00022 #if !defined (ACE_LACKS_PRAGMA_ONCE) 00023 # pragma once 00024 #endif /* ACE_LACKS_PRAGMA_ONCE */ 00025 00026 #include "orbsvcs/PortableGroup/UIPMC_Connection_Handler.h" 00027 00028 #include "tao/Transport_Connector.h" 00029 #include "ace/Null_Mutex.h" 00030 00031 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00032 00033 // **************************************************************** 00034 00035 /** 00036 * @class TAO_UIPMC_Connector 00037 * 00038 * @brief UIPMC-specific Connector bridge for pluggable protocols. 00039 * 00040 * Concrete instance of the TAO_Connector class. Responsible 00041 * for establishing a connection with a server and is called from the 00042 * Connector_Registory. 00043 */ 00044 class TAO_PortableGroup_Export TAO_UIPMC_Connector : public TAO_Connector 00045 { 00046 public: 00047 // = Initialization and termination methods. 00048 /// Constructor. 00049 TAO_UIPMC_Connector (void); 00050 00051 /// Destructor. 00052 ~TAO_UIPMC_Connector (void); 00053 00054 // = The TAO_Connector methods, please check the documentation on 00055 // Transport_Connector.h 00056 int open (TAO_ORB_Core *orb_core); 00057 int close (void); 00058 TAO_Profile *create_profile (TAO_InputCDR& cdr); 00059 00060 virtual int check_prefix (const char *endpoint); 00061 00062 virtual char object_key_delimiter (void) const; 00063 00064 protected: 00065 /// = More TAO_Connector methods, please check the documentation on 00066 /// Transport_Connector.h 00067 int set_validate_endpoint (TAO_Endpoint *endpoint); 00068 00069 TAO_Transport *make_connection (TAO::Profile_Transport_Resolver *r, 00070 TAO_Transport_Descriptor_Interface &desc, 00071 ACE_Time_Value *timeout = 0); 00072 00073 virtual TAO_Profile * make_profile (void); 00074 00075 /// Cancel the passed cvs handler from the connector 00076 virtual int cancel_svc_handler (TAO_Connection_Handler * svc_handler); 00077 }; 00078 00079 TAO_END_VERSIONED_NAMESPACE_DECL 00080 00081 #include /**/ "ace/post.h" 00082 00083 #endif /* TAO_UIPMC_CONNECTOR_H */