/usr/include/tao/IIOP_Connector.h is in libtao-dev 6.0.1-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 | // -*- C++ -*-
//=============================================================================
/**
* @file IIOP_Connector.h
*
* $Id: IIOP_Connector.h 78931 2007-07-18 09:59:36Z johnnyw $
*
* IIOP specific connector processing
*
*
* @author Fred Kuhns <fredk@cs.wustl.edu>
* @author Ossama Othman <ossama@uci.edu>
* @author Balachandran Natarajan <bala@cs.wustl.edu>
*/
//=============================================================================
#ifndef TAO_IIOP_CONNECTOR_H
#define TAO_IIOP_CONNECTOR_H
#include /**/ "ace/pre.h"
#include "tao/orbconf.h"
#if !defined (ACE_LACKS_PRAGMA_ONCE)
# pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
#if defined (TAO_HAS_IIOP) && (TAO_HAS_IIOP != 0)
#include "tao/Transport_Connector.h"
#include "tao/Connector_Impl.h"
#include "tao/IIOP_Connection_Handler.h"
#include "ace/SOCK_Connector.h"
#include "ace/Connector.h"
TAO_BEGIN_VERSIONED_NAMESPACE_DECL
class TAO_IIOP_Endpoint;
// ****************************************************************
/**
* @class TAO_IIOP_Connector
*
* @brief IIOP-specific Connector bridge for pluggable protocols.
*
* Concrete instance of the TAO_Connector class. Responsible
* for establishing a connection with a server and is called from the
* Connector_Registory.
*/
class TAO_Export TAO_IIOP_Connector : public TAO_Connector
{
public:
// = Initialization and termination methods.
/// Constructor.
TAO_IIOP_Connector (void);
/// Destructor.
~TAO_IIOP_Connector (void);
// = The TAO_Connector methods, please check the documentation on
// Transport_Connector.h
int open (TAO_ORB_Core *orb_core);
int close (void);
TAO_Profile *create_profile (TAO_InputCDR& cdr);
virtual int check_prefix (const char *endpoint);
virtual char object_key_delimiter (void) const;
public:
//@@ TAO_CONNECTOR_SPL_PUBLIC_METHODS_COPY_HOOK_START
typedef TAO_Connect_Concurrency_Strategy<TAO_IIOP_Connection_Handler>
TAO_IIOP_CONNECT_CONCURRENCY_STRATEGY;
typedef TAO_Connect_Creation_Strategy<TAO_IIOP_Connection_Handler>
TAO_IIOP_CONNECT_CREATION_STRATEGY;
typedef ACE_Connect_Strategy<TAO_IIOP_Connection_Handler,
ACE_SOCK_CONNECTOR>
TAO_IIOP_CONNECT_STRATEGY ;
typedef ACE_Strategy_Connector<TAO_IIOP_Connection_Handler,
ACE_SOCK_CONNECTOR>
TAO_IIOP_BASE_CONNECTOR;
//@@ TAO_CONNECTOR_SPL_PUBLIC_METHODS_COPY_HOOK_END
protected:
/// A flag indicating the actual connector supports parallel
/// connection attempts. The base implementation always returns
/// 0. Override to return non-zero if parallel connection attempts
/// may be tried.
virtual int supports_parallel_connects (void) const;
// = The TAO_Connector methods, please check the documentation on
// Transport_Connector.h
int set_validate_endpoint (TAO_Endpoint *ep);
virtual TAO_Transport *make_connection (
TAO::Profile_Transport_Resolver *r,
TAO_Transport_Descriptor_Interface &desc,
ACE_Time_Value *timeout = 0);
virtual TAO_Transport *make_parallel_connection (
TAO::Profile_Transport_Resolver *r,
TAO_Transport_Descriptor_Interface &desc,
ACE_Time_Value *timeout = 0);
/// More TAO_Connector methods, please check the documentation on
/// Transport_Connector.h
virtual TAO_Profile *make_profile (void);
/// Cancel the passed cvs handler from the connector
virtual int cancel_svc_handler (TAO_Connection_Handler * svc_handler);
/*
* Hook to copy over the protected and private data from this class to
* base Connector class.
*/
//@@ TAO_CONNECTOR_SPL_COPY_HOOK_START
private:
/// This is the first half of making a connection. Both make_connection
/// and make_parallel_connection will start out using begin_connection.
int begin_connection (TAO_IIOP_Connection_Handler *&svc_handler,
TAO::Profile_Transport_Resolver *r,
TAO_IIOP_Endpoint *endpoint,
ACE_Time_Value *timeout = 0);
/// This is the second half of making a connection when several endpoints
/// are involved. This works with modified wait strategies to wait for one
/// of many transports, and when once completes it will cancel the rest.
/// The winning transport is returned.
TAO_Transport *complete_connection (int result,
TAO_Transport_Descriptor_Interface &desc,
TAO_IIOP_Connection_Handler **&sh_list,
TAO_IIOP_Endpoint **ep_list,
unsigned count,
TAO::Profile_Transport_Resolver *r,
TAO_LF_Multi_Event *mev,
ACE_Time_Value *timeout = 0);
/// Return the remote endpoint, a helper function
TAO_IIOP_Endpoint *remote_endpoint (TAO_Endpoint *ep);
private:
/// Our connect strategy
TAO_IIOP_CONNECT_STRATEGY connect_strategy_;
/// The connector initiating connection requests for IIOP.
TAO_IIOP_BASE_CONNECTOR base_connector_;
//@@ TAO_CONNECTOR_SPL_COPY_HOOK_END
};
TAO_END_VERSIONED_NAMESPACE_DECL
#endif /* TAO_HAS_IIOP && TAO_HAS_IIOP != 0 */
#include /**/ "ace/post.h"
#endif /* TAO_IIOP_CONNECTOR_H */
|