00001 /* 00002 * * 00003 * This program is free software; you can redistribute it and/or modify * 00004 * it under the terms of the GNU General Public License as published by * 00005 * the Free Software Foundation; either version 2 of the License, or * 00006 * (at your option) any later version. * 00007 * * 00008 * This program is distributed in the hope that it will be useful, * 00009 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 00010 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 00011 * GNU General Public License for more details. * 00012 * * 00013 * You should have received a copy of the GNU General Public License * 00014 * along with this program; if not, write to the * 00015 * Free Software Foundation, Inc., * 00016 * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * 00017 */ 00018 00029 #ifndef TRUTHTABLEDISKMANAGER_HPP_ 00030 #define TRUTHTABLEDISKMANAGER_HPP_ 00031 00032 #include "FlexLexer.h" 00033 #include "truthTableManager.hpp" 00034 #include "wx/textfile.h" 00035 #include <list> 00036 #include <vector> 00037 00038 using namespace std; 00039 00040 class TruthTableManager; 00041 00042 00043 class TruthTableDiskManager 00044 { 00045 public: 00046 TruthTableDiskManager(TruthTableManager *controller); 00047 virtual ~TruthTableDiskManager(); 00048 bool saveTables(list<TruthTable*> tables, wxString fileName); 00049 bool openTables(wxString fileName); 00050 00051 private: 00053 TruthTableManager *controller; 00055 wxTextFile file; 00056 bool saveTableList(list<TruthTable*> tables); 00057 bool saveTable(TruthTable *table); 00058 bool saveVector(vector< vector<bool> > booleans); 00059 bool readTable(wxString name, int inputs, int outputs, list<TruthTable *> *tableList, FlexLexer *lexer); 00060 void returnTables(list<TruthTable *> *tableList); 00061 }; 00062 00063 #endif /*TRUTHTABLEDISKMANAGER_HPP_*/