00001
00002
00003
00004
00005
00006
00007
00008 #ifndef incROOT
00009 #define incROOT
00010
00011
00012 #include "base.hpp"
00013 #include "c_vector.hpp"
00014 #include "c_ref.hpp"
00015
00016 namespace persist_test {
00017
00018 class root : public base
00019 {
00020 private:
00021 int x;
00022 c_vector foos;
00023 c_vector bars;
00024 c_ref a_foo;
00025 c_vector templates;
00026
00027 public:
00028 root(const std::string &type, const std::string &name) :
00029 base(type, name),
00030 x(0),
00031 foos(this, "foos"),
00032 bars(this, "bars"),
00033 a_foo(this, "a_foo"),
00034 templates(this, "templates")
00035 {};
00036
00037
00038 virtual ph::common::object_base *get_composite_object(const std::string &name);
00039 virtual bool has(const std::string &name) const;
00040 virtual void set(const std::string &name, const std::string &value);
00041 virtual std::string get(const std::string &name) const;
00042 virtual bool write(ph::common::object_writer *writer) const;
00043 };
00044
00045 };
00046
00047 #endif // incROOT