CompletionProcessor.hpp
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef COMPLETIONPROCESSOR_HPP
00021 #define COMPLETIONPROCESSOR_HPP
00022
00023 #include "NonPeriodicActivity.hpp"
00024 #include "EventProcessor.hpp"
00025 #include <boost/shared_ptr.hpp>
00026 #include <boost/checked_delete.hpp>
00027
00028 namespace RTT
00029 {
00044 class RTT_API CompletionProcessor
00045 : public BlockingEventProcessor,
00046 public NonPeriodicActivity
00047 {
00048 public:
00049 typedef CompletionProcessor* CompletionProcessorPtr;
00050
00054 static CompletionProcessorPtr Instance();
00055
00061 static bool Release();
00062
00063 virtual ~CompletionProcessor();
00064
00065 protected:
00066
00070 CompletionProcessor();
00071 private:
00075 static boost::shared_ptr<CompletionProcessor> cp;
00076 };
00077 }
00078
00079 #endif