20 #ifndef AI_COMPOSITE_COMPONENT_HPP_INCLUDED
21 #define AI_COMPOSITE_COMPONENT_HPP_INCLUDED
30 #include <boost/shared_ptr.hpp>
35 #pragma warning(disable:4250)
virtual std::string get_id() const =0
virtual bool change_child(const path_element &child, const config &cfg)
property_handler_map property_handlers_
static bool change_component(component *root, const std::string &path, const config &cfg)
virtual std::vector< component * > get_children(const std::string &type)
GLuint GLuint GLsizei GLenum type
property_handler_map & property_handlers()
std::ostream & operator<<(std::ostream &o, const ai::path_element &e)
virtual bool add_child(const path_element &child, const config &cfg)
A small explanation about what's going on here: Each action has access to two game_info objects First...
static component * get_component(component *root, const std::string &path)
GLsizei const char ** path
virtual std::string get_engine() const =0
virtual component * get_child(const path_element &child)
virtual std::string get_name() const =0
static bool delete_component(component *root, const std::string &path)
static bool add_component(component *root, const std::string &path, const config &cfg)
virtual bool delete_child(const path_element &child)
static std::string print_component_tree(component *root, const std::string &path)
virtual std::vector< std::string > get_children_types()
std::map< std::string, property_handler_ptr > property_handler_map
boost::shared_ptr< base_property_handler > property_handler_ptr
A config object defines a single node in a WML file, with access to child nodes.
GLsizei const GLcharARB ** string