Revert "Use a variable on the stack to not have a temporary in the call"
[ACE_TAO.git] / TAO / tao / Strategies / DIOP_Connector.h
blobde4b8e2109b657913bad0a6092bc724c08dc6941
1 // -*- C++ -*-
3 //=============================================================================
4 /**
5 * @file DIOP_Connector.h
7 * DIOP specific connector processing
9 * @author Michael Kircher
11 //=============================================================================
13 #ifndef TAO_DIOP_CONNECTOR_H
14 #define TAO_DIOP_CONNECTOR_H
16 #include /**/ "ace/pre.h"
18 #include "tao/orbconf.h"
20 #if !defined (ACE_LACKS_PRAGMA_ONCE)
21 # pragma once
22 #endif /* ACE_LACKS_PRAGMA_ONCE */
24 #if defined (TAO_HAS_DIOP) && (TAO_HAS_DIOP != 0)
26 #include "tao/Strategies/DIOP_Connection_Handler.h"
27 #include "tao/Transport_Connector.h"
29 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
31 class TAO_Endpoint;
32 class TAO_DIOP_Endpoint;
34 // ****************************************************************
36 /**
37 * @class TAO_DIOP_Connector
39 * @brief DIOP-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_DIOP_Connector : public TAO_Connector
47 public:
48 /// Constructor.
49 TAO_DIOP_Connector ();
51 /// Destructor.
52 ~TAO_DIOP_Connector () = default;
54 /**
55 * @name The TAO_Connector Methods
57 * Please check the documentation in Transport_Connector.h for details.
59 //@{
60 int open (TAO_ORB_Core *orb_core);
61 int close ();
63 TAO_Profile *create_profile (TAO_InputCDR& cdr);
65 virtual int check_prefix (const char *endpoint);
67 virtual char object_key_delimiter () const;
68 //@}
70 protected:
71 /**
72 * @name More TAO_Connector Methods
74 * Please check the documentation in Transport_Connector.h for details.
76 //@{
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 ();
84 //@}
86 /// Cancel the passed cvs handler from the connector
87 int cancel_svc_handler (TAO_Connection_Handler * svc_handler);
89 private:
90 /// Return the remote endpoint, a helper function
91 TAO_DIOP_Endpoint *remote_endpoint (TAO_Endpoint *ep);
94 TAO_END_VERSIONED_NAMESPACE_DECL
96 #endif /* TAO_HAS_DIOP && TAO_HAS_DIOP != 0 */
98 #include /**/ "ace/post.h"
100 #endif /* TAO_DIOP_CONNECTOR_H */