activemq-cpp-3.6.0
Main Page
Namespaces
Data Structures
Files
File List
Globals
TransportRegistry.h
Go to the documentation of this file.
1
/*
2
* Licensed to the Apache Software Foundation (ASF) under one or more
3
* contributor license agreements. See the NOTICE file distributed with
4
* this work for additional information regarding copyright ownership.
5
* The ASF licenses this file to You under the Apache License, Version 2.0
6
* (the "License"); you may not use this file except in compliance with
7
* the License. You may obtain a copy of the License at
8
*
9
* http://www.apache.org/licenses/LICENSE-2.0
10
*
11
* Unless required by applicable law or agreed to in writing, software
12
* distributed under the License is distributed on an "AS IS" BASIS,
13
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
* See the License for the specific language governing permissions and
15
* limitations under the License.
16
*/
17
18
#ifndef _ACTIVEMQ_TRANSPORT_TRANSPORTREGISTRY_H_
19
#define _ACTIVEMQ_TRANSPORT_TRANSPORTREGISTRY_H_
20
21
#include <
activemq/util/Config.h
>
22
23
#include <string>
24
#include <vector>
25
#include <
activemq/transport/TransportFactory.h
>
26
27
#include <
decaf/util/StlMap.h
>
28
#include <
decaf/util/NoSuchElementException.h
>
29
#include <
decaf/lang/exceptions/NullPointerException.h
>
30
#include <
decaf/lang/exceptions/IllegalArgumentException.h
>
31
32
namespace
activemq {
33
namespace
library {
34
class
ActiveMQCPP;
35
}
36
namespace
transport {
37
45
class
AMQCPP_API
TransportRegistry
{
46
private
:
47
48
decaf::util::StlMap<std::string, TransportFactory*>
registry;
49
50
private
:
51
52
// Hidden Constructor, prevents instantiation
53
TransportRegistry
();
54
55
// Hidden Copy Constructor
56
TransportRegistry
(
const
TransportRegistry
& registry);
57
58
// Hidden Assignment operator
59
TransportRegistry
& operator=(
const
TransportRegistry
& registry);
60
61
public
:
62
63
virtual
~
TransportRegistry
();
64
77
TransportFactory
* findFactory(
const
std::string& name)
const
;
78
93
void
registerFactory(
const
std::string& name,
TransportFactory
* factory);
94
102
void
unregisterFactory(
const
std::string& name);
103
107
void
unregisterAllFactories();
108
115
std::vector<std::string> getTransportNames()
const
;
116
117
public
:
118
// Static methods
119
124
static
TransportRegistry
& getInstance();
125
126
private
:
127
128
static
void
initialize();
129
static
void
shutdown();
130
131
friend
class
activemq::library::ActiveMQCPP
;
132
133
};
134
135
}}
136
137
#endif
/* _ACTIVEMQ_TRANSPORT_TRANSPORTREGISTRY_H_ */
src
main
activemq
transport
TransportRegistry.h
Generated on Mon Mar 4 2013 10:25:45 for activemq-cpp-3.6.0 by
1.8.1.2