22 #include <boost/foreach.hpp>
23 #include <drizzled/plugin/plugin.h>
24 #include <drizzled/atomics.h>
31 typedef std::vector<Listen *> ListenVector;
32 typedef std::pair<std::string*, drizzled::atomic<uint64_t>*> ListenCounter;
40 std::vector<ListenCounter*> counters;
42 explicit Listen(std::string name_arg)
43 :
Plugin(name_arg,
"Listen")
48 BOOST_FOREACH(ListenCounter* counter, counters)
50 delete counter->first;
55 static ListenVector &getListenProtocols();
57 std::vector<ListenCounter*>& getListenCounters()
68 virtual bool getFileDescriptors(std::vector<int> &fds)= 0;
79 static bool addPlugin(
Listen*);
84 static void removePlugin(
Listen*);
89 static bool setup(
void);
106 static void shutdown();
Visibility Control Macros.