1 // Copyright 2009 The Archiveopteryx Developers <info@aox.org>
2 
3 #ifndef SCHEMA_H
4 #define SCHEMA_H
5 
6 #include "event.h"
7 
8 
9 class Query;
10 class EString;
11 
12 
13 class Schema
14     : public EventHandler
15 {
16 public:
17     Schema( EventHandler *, bool = false, bool = true );
18     Query * result() const;
19     void execute();
20 
21     EString serverVersion() const;
22 
23     static void checkRevision( EventHandler * );
24 
25 private:
26     class SchemaData *d;
27     void fail( const EString &, Query * = 0 );
28     bool singleStep();
29     bool stepTo2();
30     bool stepTo3();
31     bool stepTo4();
32     bool stepTo5();
33     bool stepTo6();
34     bool stepTo7();
35     bool stepTo8();
36     bool stepTo9();
37     bool stepTo10();
38     bool stepTo11();
39     bool stepTo12();
40     bool stepTo13();
41     bool stepTo14();
42     bool stepTo15();
43     bool stepTo16();
44     bool stepTo17();
45     bool stepTo18();
46     bool stepTo19();
47     bool stepTo20();
48     bool stepTo21();
49     bool stepTo22();
50     bool stepTo23();
51     bool stepTo24();
52     bool stepTo25();
53     bool stepTo26();
54     bool stepTo27();
55     bool stepTo28();
56     bool stepTo29();
57     bool stepTo30();
58     bool stepTo31();
59     bool stepTo32();
60     bool stepTo33();
61     bool stepTo34();
62     bool stepTo35();
63     bool stepTo36();
64     bool stepTo37();
65     bool stepTo38();
66     bool stepTo39();
67     bool stepTo40();
68     bool stepTo41();
69     bool stepTo42();
70     bool stepTo43();
71     bool stepTo44();
72     bool stepTo45();
73     bool stepTo46();
74     bool stepTo47();
75     bool stepTo48();
76     bool stepTo49();
77     bool stepTo50();
78     bool stepTo51();
79     bool stepTo52();
80     bool stepTo53();
81     bool stepTo54();
82     bool stepTo55();
83     bool stepTo56();
84     bool stepTo57();
85     bool stepTo58();
86     bool stepTo59();
87     bool stepTo60();
88     bool stepTo61();
89     bool stepTo62();
90     bool stepTo63();
91     bool stepTo64();
92     bool stepTo65();
93     bool stepTo66();
94     bool stepTo67();
95     bool stepTo68();
96     bool stepTo69();
97     bool stepTo70();
98     bool stepTo71();
99     bool stepTo72();
100     bool stepTo73();
101     bool stepTo74();
102     bool stepTo75();
103     bool stepTo76();
104     bool stepTo77();
105     bool stepTo78();
106     bool stepTo79();
107     bool stepTo80();
108     bool stepTo81();
109     bool stepTo82();
110     bool stepTo83();
111     bool stepTo84();
112     bool stepTo85();
113     bool stepTo86();
114     bool stepTo87();
115     bool stepTo88();
116     bool stepTo89();
117     bool stepTo90();
118     bool stepTo91();
119     bool stepTo92();
120     bool stepTo93();
121     bool stepTo94();
122     bool stepTo95();
123     bool stepTo96();
124     bool stepTo97();
125     bool stepTo98();
126 
127     void describeStep( const EString & );
128 };
129 
130 
131 #endif
132