1/*
2 * Copyright 2008, Haiku.
3 * Distributed under the terms of the MIT license.
4 *
5 * Authors:
6 *		Michael Pfeiffer <laplace@users.sourceforge.net>
7 */
8
9#ifndef _STATEMENT_LIST_VISITOR_H
10#define _STATEMENT_LIST_VISITOR_H
11
12#include "StatementWrapper.h"
13#include "StatementList.h"
14
15class StatementListVisitor {
16private:
17	int32 fLevel;
18public:
19	StatementListVisitor() : fLevel(0) {}
20	virtual ~StatementListVisitor() {}
21
22	virtual void Visit(StatementList* list);
23
24	// the nesting level
25	int32 GetLevel() const { return fLevel; }
26
27	virtual void BeginGroup(GroupStatement* group) {};
28	virtual void DoDefault(Statement* statement) {};
29	virtual void DoQuery(Statement* statement) {};
30	virtual void DoValue(Statement* statement) {};
31	virtual void DoParam(Statement* statement) {};
32	virtual void EndGroup(GroupStatement* group) {};
33};
34
35
36#endif
37