00001 /* 00002 FSF: Flow Scheduling Framework library 00003 00004 Version 1.0 Copyright (C) 2010 Alexandre R.J. Francois 00005 00006 Previous versions Copyright (C) 2001-2005 University of Southern California 00007 00008 Author: Alexandre R.J. Francois - alexandrefrancois@yahoo.com 00009 www.alexandrefrancois.org 00010 00011 Modular Flow Scheduling Middleware 00012 mfsm.sourceForge.net 00013 00014 This library is free software; you can redistribute it and/or 00015 modify it under the terms of the GNU Lesser General Public 00016 License as published by the Free Software Foundation; either 00017 version 2.1 of the License, or (at your option) any later version. 00018 00019 This library is distributed in the hope that it will be useful, 00020 but WITHOUT ANY WARRANTY; without even the implied warranty of 00021 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00022 Lesser General Public License for more details. 00023 00024 You should have received a copy of the GNU Lesser General Public 00025 License along with this library; if not, write to the Free Software 00026 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00027 */ 00028 00029 #ifndef FSF_PULSAR_H 00030 #define FSF_PULSAR_H 00031 00032 #include "FsfCell.h" 00033 00034 namespace fsf { 00035 00036 00041 class CPulsar : public CCell { 00042 protected: 00043 pthread_t m_thread; 00044 public: 00045 00047 00048 00049 CPulsar(); 00051 virtual ~CPulsar(); 00053 00055 00056 00057 virtual void getTypeID(std::string &str) { str.assign("FSF_PULSAR"); } 00059 00061 00062 00063 virtual bool switchCell(bool bOn); 00065 void pulse(); 00067 00068 00070 00071 00072 00073 void startPulsarThread(); 00075 static void* pulsarThreadProc(void* pParam); 00077 00078 }; 00079 00080 } // namespace fsf 00081 00082 #endif // FSF_PULSAR_H 00083