00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef BOSS_DURATION_H
00022 #define BOSS_DURATION_H
00023
00024 #include "boss_utility/boss_module.h"
00025 #include "boss_utility/boss_config.h"
00026 #include "boss_utility/dom_tools.h"
00027 #include "boss_cartreader/boss_cartreader.h"
00028 #include <sstream>
00029 #include <math.h>
00030
00031
00042
00043 struct Duration {
00044 unsigned pdur;
00045 unsigned hdur1;
00046 unsigned hdur2;
00047 Duration() : pdur(0), hdur1(0), hdur2(0) {};
00048 };
00049
00054 class BOSS_Duration : public BOSS::Module {
00055 protected:
00056 BOSS_CartReader * tree;
00057
00058
00059
00060
00061 virtual void set_features(xercesc::DOMNode* sentence) const=0;
00062 void add_durations(xercesc::DOMNode* sentence) const;
00063 virtual Duration find_dur(const xercesc::DOMElement* element,
00064 BOSS::DOMNodeVector & wlist,
00065 BOSS::DOMNodeVector & stmp,
00066 BOSS::DOMNodeVector & ptmp,
00067 BOSS::DOMNodeVector & htmp,
00068 unsigned w, unsigned s, unsigned p) const=0;
00069
00070
00071
00072
00073 public:
00074 BOSS_Duration(BOSS::Config & __cl, MySQL_Handler * __data_base);
00075 virtual ~BOSS_Duration();
00076 virtual void operator () (xercesc::DOMNode* sentence);
00077 };
00078
00079
00081 #endif
00082
00083