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_NODE_CELL_H 00030 #define FSF_NODE_CELL_H 00031 00032 #include "FsfTypeCellBase.h" 00033 00034 namespace fsf{ 00035 00036 00045 00046 00049 class CNodeTimeStamp : public CTypeCellBase { 00050 protected: 00051 public: 00053 00054 00055 CNodeTimeStamp(); 00057 00059 00060 00061 virtual void getTypeID(std::string &str) { str.assign("FSF_NODE_TIME_STAMP"); } 00063 00065 00066 00067 virtual void process(fsf::CPassiveHandle *pPassiveHandle, fsf::CActiveHandle *pActiveHandle, fsf::CActivePulse *pActivePulse); 00069 }; 00070 00073 class CNodeName : public CTypeCellBase { 00074 protected: 00075 public: 00077 00078 00079 CNodeName(); 00080 // Factory mapping key 00081 virtual void getTypeID(std::string &str) { str.assign("FSF_NODE_NAME"); } 00083 00085 00086 00087 virtual void process(fsf::CPassiveHandle *pPassiveHandle, fsf::CActiveHandle *pActiveHandle, fsf::CActivePulse *pActivePulse); 00089 }; 00090 00093 class CNodeTypeID : public CTypeCellBase { 00094 protected: 00095 public: 00097 00098 00099 CNodeTypeID(); 00101 00103 00104 00105 virtual void getTypeID(std::string &str) { str.assign("FSF_NODE_TYPE_ID"); } 00107 00109 00110 00111 virtual void process(fsf::CPassiveHandle *pPassiveHandle, fsf::CActiveHandle *pActiveHandle, fsf::CActivePulse *pActivePulse); 00113 }; 00114 00119 class CNodeDelete : public fsf::CCell { 00120 public: 00122 00123 00124 CNodeDelete(); 00126 00128 00129 00130 virtual void getTypeID(std::string &str) { str.assign("FSF_NODE_DELETE"); } 00132 00134 00135 00136 virtual void process(fsf::CPassiveHandle *pPassiveHandle, fsf::CActiveHandle *pActiveHandle, fsf::CActivePulse *pActivePulse); 00138 }; 00139 00141 00142 00143 } // namespace fsf 00144 00145 #endif // FSF_NODE_CELL_H 00146