3 //=============================================================================
5 * @file COIOP_Connector.h
7 * COIOP specific connector processing
9 * @author Johnny Willemsen <jwillemsen@remedy.nl>
11 //=============================================================================
13 #ifndef TAO_COIOP_CONNECTOR_H
14 #define TAO_COIOP_CONNECTOR_H
16 #include /**/ "ace/pre.h"
18 #include "tao/orbconf.h"
20 #if !defined (ACE_LACKS_PRAGMA_ONCE)
22 #endif /* ACE_LACKS_PRAGMA_ONCE */
24 #if defined (TAO_HAS_COIOP) && (TAO_HAS_COIOP != 0)
26 #include "tao/Strategies/COIOP_Connection_Handler.h"
27 #include "tao/Transport_Connector.h"
29 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
32 class TAO_COIOP_Endpoint
;
34 // ****************************************************************
37 * @class TAO_COIOP_Connector
39 * @brief COIOP-specific Connector bridge for pluggable protocols.
41 * Concrete instance of the TAO_Connector class. Responsible
42 * for establishing a connection with a server and is called from the
43 * Connector_Registory.
45 class TAO_Strategies_Export TAO_COIOP_Connector
: public TAO_Connector
49 TAO_COIOP_Connector ();
52 ~TAO_COIOP_Connector () = default;
55 * @name The TAO_Connector Methods
57 * Please check the documentation in Transport_Connector.h for details.
60 int open (TAO_ORB_Core
*orb_core
);
63 TAO_Profile
*create_profile (TAO_InputCDR
& cdr
);
65 virtual int check_prefix (const char *endpoint
);
67 virtual char object_key_delimiter () const;
72 * @name More TAO_Connector Methods
74 * Please check the documentation in Transport_Connector.h for details.
77 int set_validate_endpoint (TAO_Endpoint
*ep
);
79 TAO_Transport
*make_connection (TAO::Profile_Transport_Resolver
*r
,
80 TAO_Transport_Descriptor_Interface
&desc
,
81 ACE_Time_Value
*timeout
= 0);
83 virtual TAO_Profile
* make_profile ();
86 /// Cancel the passed cvs handler from the connector
87 int cancel_svc_handler (TAO_Connection_Handler
* svc_handler
);
90 /// Return the remote endpoint, a helper function
91 TAO_COIOP_Endpoint
*remote_endpoint (TAO_Endpoint
*ep
);
94 TAO_END_VERSIONED_NAMESPACE_DECL
96 #endif /* TAO_HAS_COIOP && TAO_HAS_COIOP != 0 */
98 #include /**/ "ace/post.h"
100 #endif /* TAO_COIOP_CONNECTOR_H */