BESXMLInterface.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033 #ifndef BESXMLInterface_h_
00034 #define BESXMLInterface_h_ 1
00035
00036 #include <new>
00037 #include <vector>
00038
00039 using std::new_handler ;
00040 using std::bad_alloc ;
00041 using std::vector ;
00042
00043 #include "BESBasicInterface.h"
00044 #include "BESXMLUtils.h"
00045
00046 class BESXMLCommand ;
00047
00052 class BESXMLInterface : public BESBasicInterface
00053 {
00054 private:
00055 vector<BESXMLCommand *> _cmd_list ;
00056 BESDataHandlerInterface _base_dhi ;
00057 protected:
00058 virtual void initialize() ;
00059 virtual void validate_data_request() ;
00060 virtual void build_data_request_plan() ;
00061 virtual void execute_data_request_plan() ;
00062 virtual void invoke_aggregation();
00063 virtual void transmit_data() ;
00064 virtual void log_status() ;
00065 virtual void report_request() ;
00066 virtual void clean() ;
00067 public:
00068 BESXMLInterface( const string &cmd,
00069 ostream *strm ) ;
00070 virtual ~BESXMLInterface() ;
00071
00072 virtual int execute_request( const string &from ) ;
00073
00074 virtual void dump( ostream &strm ) const ;
00075 } ;
00076
00077 #endif // BESXMLInterface_h_
00078