Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members  

TransitionInfo.h

00001 /*
00002 Copyright (C) 2000,2001 Stefan Duffner 
00003 
00004 This program is free software; you can redistribute it and/or
00005 modify it under the terms of the GNU General Public License
00006 as published by the Free Software Foundation; either version 2
00007 of the License, or any later version.
00008 
00009 This program is distributed in the hope that it will be useful,
00010 but WITHOUT ANY WARRANTY; without even the implied warranty of
00011 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00012 GNU General Public License for more details.
00013 
00014 You should have received a copy of the GNU General Public License
00015 along with this program; if not, write to the Free Software
00016 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
00017 */
00018 
00019 #ifndef TRANSITIONINFO_H
00020 #define TRANSITIONINFO_H
00021 
00022 #include <qstring.h>
00023 
00024 class IOInfo;
00025 
00026 
00027 enum TransitionType {Binary, Ascii};
00028 
00029 
00034 class TransitionInfo
00035 {
00036   public:
00037     TransitionInfo();
00038     virtual ~TransitionInfo();
00039 
00041     virtual TransitionInfo* clone()=0;
00042 
00044     IOInfo* getInputInfo() { return inputs; };
00046     IOInfo* getOutputInfo() { return outputs; };
00048     virtual QString getInputsStr()=0;
00050     virtual QString getOutputsStr()=0;
00052     virtual QString getInputsStrBin(/*int*/) { return ""; };
00054     virtual QString getOutputsStrBin(/*int*/) { return ""; };
00056     virtual QString getInputsStrHex(/*int*/) { return ""; };
00058     virtual QString getOutputsStrHex(/*int*/) { return ""; };
00060     virtual QString getInputsStrASCII() { return ""; };
00062     virtual QString getOutputsStrASCII() { return ""; };
00064     virtual void setInputs(QString, int numin=-1)=0;
00066     virtual void setOutputs(QString, int numout=-1)=0;
00068     int getType() { return type; };
00070     void setType(int t) { type = t; };
00072     virtual void setInputsSize(int bits)=0;
00074     virtual void setOutputsSize(int bits)=0;
00075 
00077     virtual bool matches(IOInfo* io)=0;
00078     bool intersection(TransitionInfo* );
00079 
00080   protected:
00082     IOInfo* inputs;
00084     IOInfo* outputs;
00086     int type;
00087    
00088 };
00089 
00090 
00091 #endif

Generated at Fri Apr 11 22:37:14 2003 for Qfsm by doxygen1.2.9.1 written by Dimitri van Heesch, © 1997-2001