diff options
author | Alan Conway <aconway@apache.org> | 2008-07-08 19:03:52 +0000 |
---|---|---|
committer | Alan Conway <aconway@apache.org> | 2008-07-08 19:03:52 +0000 |
commit | af6e0524bdd933fadf0baa454b461a91526a3347 (patch) | |
tree | 14f6328aad1107f7b80a0d1a6d8aa32204b90973 /cpp/src/qpid/sys/TCPIOPlugin.cpp | |
parent | 1b4c02dc9fbef138f7ed59550d533fe3ae13017f (diff) | |
download | qpid-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.cpp | 26 |
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)) |