00001 /* conman_unit.h $Revision: 1.2 $ $Date: 2005/12/10 20:33:54 $ 00002 Copyright (C) 2003 University of Bonn. 00003 http://www.ikp.uni-bonn.de/boss 00004 00005 This program is free software; you can redistribute it and/or 00006 modify it under the terms of the GNU General Public License 00007 as published by the Free Software Foundation; either version 2 00008 of the License, or (at your option) any later version. 00009 00010 This program is distributed in the hope that it will be useful, 00011 but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00013 GNU General Public License for more details. 00014 00015 You should have received a copy of the GNU General Public License 00016 along with this program; if not, write to the Free Software 00017 Foundation, Inc., 59 Temple Place - Suite 330, 00018 Boston, MA 02111-1307, USA. 00019 */ 00020 00026 #ifndef BOSS_CONMAN_UNIT_H 00027 #define BOSS_CONMAN_UNIT_H 00028 00029 #include <string> 00030 #include <vector> 00031 #include <algorithm> 00032 #include <sstream> 00033 #include <fstream> 00034 #include <iostream> 00035 #include <cmath> 00036 #include <cstdio> 00037 00038 #include "config.h" 00039 #include "boss_utility/boss_exceptions.h" 00040 #include "boss_utility/boss_utility.h" 00041 #include "boss_utility/boss_config.h" 00042 #include "boss_utility/dom_userdata.h" 00043 #include "boss_utility/dom_tools.h" 00044 #include <xercesc/dom/DOM.hpp> 00045 #include "boss_mysql/boss_mysql_handler.h" 00046 #include "tdsp/dsp_vector.h" 00047 00048 00049 00050 //Used for debugging purposes 00051 //#define NOTVERB 00052 #define BREAKPOINT cerr << "Bis hier" << endl; 00053 #ifndef NOTVERB 00054 #define PRINT(X) cerr << (#X) << ": " << (X) << endl; 00055 #endif 00056 #ifdef NOTVERB 00057 #define PRINT(X) ; 00058 #endif 00059 00060 typedef dsp::vector< short > t_Signal; 00061 00062 00063 class ConmanUnit { 00064 public: 00065 BOSS::Config & config; 00066 MySQL_Handler * database; 00067 xercesc::DOMNode* node; // reference to the DOM_Node of the unit. 00068 DOM_UserData * user_data; // pointer to the user data structure of the selected unit 00069 00070 string tkey; 00071 string file_name; 00072 long start_index; 00073 long end_index; 00074 bool pause; 00075 00076 // Constructor for non-pause units 00077 ConmanUnit(BOSS::Config & __config, 00078 MySQL_Handler * __database, 00079 xercesc::DOMNode * n, 00080 const string & t, //tkey 00081 const string & i); //inventory 00082 // Constructor for pause units 00083 ConmanUnit(BOSS::Config & __config, MySQL_Handler * __database, 00084 xercesc::DOMNode * n, const string & t); 00085 ConmanUnit & ConmanUnit::operator=(const ConmanUnit & other); 00086 protected: 00087 string getSentenceFileName(const string & inventory); 00088 00089 }; 00090 00091 #endif 00092