summaryrefslogtreecommitdiff
path: root/project2/ut/testPresenter.h
blob: 74e5e0deff00274af94b17ed1d3c10a097ab975c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#ifndef TESTPRESENTER_H
#define TESTPRESENTER_H

#include <string>
#include <vector>
#include <boost/filesystem/path.hpp>
#include <presenter.h>

typedef std::vector<std::string> PresenterData;

class TestPresenter : public Presenter {
	public:
		TestPresenter();

		void addNamedValue(const Glib::ustring & name, const VariableType & value) const override;
		void addNewRow(const Glib::ustring & name) const override;
		void finishRow() const override;
		void addNewRowSet(const Glib::ustring & name) const override;
		void addNewRowSet(const Glib::ustring & name, const Glib::ustring & ns) const override;
		void finishRowSet() const override;
		void addNewArray(const Glib::ustring & name, bool objects) const override;
		void finishArray(bool objects) const override;
		void pushSub(const Glib::ustring & name, const Glib::ustring & ns) const override;
		void popSub() const override;
		void addText(const VariableType & value) const override;
		void init(ExecContext *) override;

		const PresenterData & GetPresenterData() const;

	private:
		mutable PresenterData presenterData;
};

namespace std {
	bool operator==(const PresenterData &, const boost::filesystem::path &);
	std::ostream & operator<<(std::ostream & s, const PresenterData & v);
	std::istream & operator>>(std::istream & s, PresenterData & v);
}

#endif