00001 /*************************************************************************** 00002 tag: Peter Soetens Mon Jun 10 14:32:45 CEST 2002 CompletionProcessor.hpp 00003 00004 CompletionProcessor.hpp - description 00005 ------------------- 00006 begin : Mon June 10 2002 00007 copyright : (C) 2002 Peter Soetens 00008 email : peter.soetens@mech.kuleuven.ac.be 00009 00010 *************************************************************************** 00011 * * 00012 * This program is free software; you can redistribute it and/or modify * 00013 * it under the terms of the GNU General Public License as published by * 00014 * the Free Software Foundation; either version 2 of the License, or * 00015 * (at your option) any later version. * 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 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
1.5.8