CGEM BOSS 6.6.5.i
BESIII Offline Software System
Loading...
Searching...
No Matches
Calibration/rdbModel/rdbModel-00-01-01/rdbModel/Management/Builder.h
Go to the documentation of this file.
1// $Header: /bes/bes/BossCvs/Calibration/rdbModel/rdbModel/Management/Builder.h,v 1.1.1.1 2005/10/17 06:10:53 maqm Exp $
2
3#ifndef RDBMODEL_BUILDER_H
4#define RDBMODEL_BUILDER_H
5#include <string>
6
7namespace rdbModel{
8 class Rdb;
9
10 /**
11 * This class defines the public interface for the generic
12 * functionalities of a builder. Each subclass must provide
13 * implementation for its methods.
14 * @author J. Bogart,
15 * but basically stolen from detModel Builder
16 * Many thanks to R. Giannitrapani and D. Favretto
17 */
18 class Builder {
19 public:
20
22
23 /** This method parses the input into an intermediate in-memeory form.
24 * For now, the only acceptable input source is an xml file and the
25 * intermediate form is its DOM represenation. Conceivably
26 * could accept other forms someday.
27 * Return is to be interpreted as error code: 0 is ok.
28 */
29 virtual unsigned int parseInput(const std::string&) = 0;
30
31 /** This method start the parser (implemented in a concrete
32 * subclass of this class) for the sections part and put the
33 * result in a private pointer
34 * Return is number of tables built. If negative, indicates
35 * error.
36 */
37 virtual int buildRdb() = 0;
38
39
40 void setRdb(Rdb* pRdb){m_currentRdb = pRdb;}
41
42 /** This method return a pointer to the internal
43 Rdb
44 */
45 Rdb * getRdb() { return m_currentRdb; };
46
47 protected:
48 /** This is a private pointer to an Rdb used
49 during the building */
51 };
52
53}
54#endif //BUILDER_H
55
virtual unsigned int parseInput(const std::string &)=0
virtual int buildRdb()=0