summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/sys/TCPIOPlugin.cpp
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2008-07-08 19:03:52 +0000
committerAlan Conway <aconway@apache.org>2008-07-08 19:03:52 +0000
commitaf6e0524bdd933fadf0baa454b461a91526a3347 (patch)
tree14f6328aad1107f7b80a0d1a6d8aa32204b90973 /cpp/src/qpid/sys/TCPIOPlugin.cpp
parent1b4c02dc9fbef138f7ed59550d533fe3ae13017f (diff)
downloadqpid-python-af6e0524bdd933fadf0baa454b461a91526a3347.tar.gz
Revert un-necessary Plugin complications. Better solution for plugin extension points coming up...
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@674915 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/sys/TCPIOPlugin.cpp')
-rw-r--r--cpp/src/qpid/sys/TCPIOPlugin.cpp26
1 files changed, 14 insertions, 12 deletions
diff --git a/cpp/src/qpid/sys/TCPIOPlugin.cpp b/cpp/src/qpid/sys/TCPIOPlugin.cpp
index 9d272ee69c..e82a6a9102 100644
--- a/cpp/src/qpid/sys/TCPIOPlugin.cpp
+++ b/cpp/src/qpid/sys/TCPIOPlugin.cpp
@@ -53,20 +53,22 @@ class AsynchIOProtocolFactory : public ProtocolFactory {
bool isClient);
};
-struct TCPIOPlugin : public PluginT<broker::Broker> {
- void initializeT(broker::Broker& broker) {
- const broker::Broker::Options& opts = broker.getOptions();
- ProtocolFactory::shared_ptr protocol(new AsynchIOProtocolFactory(opts.port, opts.connectionBacklog));
- QPID_LOG(info, "Listening on TCP port " << protocol->getPort());
- broker.registerProtocolFactory(protocol);
+// Static instance to initialise plugin
+static class TCPIOPlugin : public Plugin {
+ void earlyInitialize(Target&) {
}
-};
-
-static struct TCPIOPluginFactory : public Plugin::FactoryT<broker::Broker> {
- boost::shared_ptr<Plugin> createT(broker::Broker&) {
- return make_shared_ptr(new TCPIOPlugin());
+
+ void initialize(Target& target) {
+ broker::Broker* broker = dynamic_cast<broker::Broker*>(&target);
+ // Only provide to a Broker
+ if (broker) {
+ const broker::Broker::Options& opts = broker->getOptions();
+ ProtocolFactory::shared_ptr protocol(new AsynchIOProtocolFactory(opts.port, opts.connectionBacklog));
+ QPID_LOG(info, "Listening on TCP port " << protocol->getPort());
+ broker->registerProtocolFactory(protocol);
+ }
}
-} theTCPIOPluginFactory; // Static plugin factory instance.
+} tcpPlugin;
AsynchIOProtocolFactory::AsynchIOProtocolFactory(int16_t port, int backlog) :
listeningPort(listener.listen(port, backlog))