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