1// SuperTux
2// Copyright (C) 2015 Ingo Ruhnke <grumbel@gmail.com>
3//
4// This program is free software: you can redistribute it and/or modify
5// it under the terms of the GNU General Public License as published by
6// the Free Software Foundation, either version 3 of the License, or
7// (at your option) any later version.
8//
9// This program is distributed in the hope that it will be useful,
10// but WITHOUT ANY WARRANTY; without even the implied warranty of
11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12// GNU General Public License for more details.
13//
14// You should have received a copy of the GNU General Public License
15// along with this program. If not, see <http://www.gnu.org/licenses/>.
16
17#ifndef HEADER_SUPERTUX_UTIL_READER_OBJECT_HPP
18#define HEADER_SUPERTUX_UTIL_READER_OBJECT_HPP
19
20#include <string>
21
22namespace sexp {
23class Value;
24} // namespace sexp
25
26class ReaderDocument;
27class ReaderMapping;
28class ReaderCollection;
29
30class ReaderObject final
31{
32public:
33 ReaderObject(const ReaderDocument& doc, const sexp::Value& sx);
34
35 std::string get_name() const;
36 ReaderMapping get_mapping() const;
37 ReaderCollection get_collection() const;
38
39 const ReaderDocument& get_doc() const { return m_doc; }
40 const sexp::Value& get_sexp() const { return m_sx; }
41
42private:
43 const ReaderDocument& m_doc;
44 const sexp::Value& m_sx;
45};
46
47#endif
48
49/* EOF */
50