blob: 8111e75da0c81b6990567e7918715cd9f2412dee (
plain)
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
|
// -*- C++ -*-
//=============================================================================
/**
* @file HTIOP_Factory.h
*
* @author Fred Kuhns <fredk@cs.wustl.edu>
*/
//=============================================================================
#ifndef HTIOP_FACTORY_H
#define HTIOP_FACTORY_H
#include /**/ "ace/pre.h"
#include "orbsvcs/HTIOP/HTIOP_Export.h"
#if !defined (ACE_LACKS_PRAGMA_ONCE)
# pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
#include "tao/Protocol_Factory.h"
#include "ace/Service_Config.h"
ACE_BEGIN_VERSIONED_NAMESPACE_DECL
namespace ACE
{
namespace HTBP
{
class Environment;
}
}
ACE_END_VERSIONED_NAMESPACE_DECL
TAO_BEGIN_VERSIONED_NAMESPACE_DECL
namespace TAO
{
namespace HTIOP
{
class HTIOP_Export Protocol_Factory : public TAO_Protocol_Factory
{
public:
Protocol_Factory ();
virtual ~Protocol_Factory ();
// = Service Configurator hooks.
/// Dynamic linking hook
virtual int init (int argc, ACE_TCHAR* argv[]);
/// Verify prefix is a match
virtual int match_prefix (const ACE_CString &prefix);
/// Returns the prefix used by the protocol.
virtual const char *prefix () const;
/// Return the character used to mark where an endpoint ends and
/// where its options begin.
virtual char options_delimiter () const;
// = Check Protocol_Factory.h for a description of these methods.
virtual TAO_Acceptor *make_acceptor ();
virtual TAO_Connector *make_connector ();
virtual int requires_explicit_endpoint () const;
private:
/// Configuration reference
ACE::HTBP::Environment *ht_env_;
/// Flag used to determine if an acceptor should use an "inside"
/// local address, or try to compose an "outside" address.
/// If the value is 1, then always use an HTID for local addr,
/// otherwise use host:port if 0, or guess based on proxy config
/// if -1. The default is -1.
int inside_;
};
}
}
TAO_END_VERSIONED_NAMESPACE_DECL
// Note that these declarations are placed outside of the scope of the
// namespace. The generated functions use a C style signature which does
// not accommodate namespaces, so assuming namespace concatenation is an
// error. The service class name should be composed of a flattened class
// name, with the namespaces preceding the class name with '_'.
ACE_STATIC_SVC_DECLARE_EXPORT (HTIOP, TAO_HTIOP_Protocol_Factory)
ACE_FACTORY_DECLARE (HTIOP, TAO_HTIOP_Protocol_Factory)
#include /**/ "ace/post.h"
#endif /* HTIOP_FACTORY_H */
|