#include <string>
#include <list>
+#include <stdint.h>
#include <glibmm.h>
#include <boost/shared_ptr.hpp>
+#include <boost/optional.hpp>
#include "types.h"
#include "exceptions.h"
+#include "dcp_time.h"
namespace xmlpp {
class Node;
std::string optional_string_node (std::string);
ContentKind kind_node (std::string);
Fraction fraction_node (std::string);
- int int_node (std::string);
+ int64_t int64_node (std::string);
+ int64_t optional_int64_node (std::string);
+ float float_node (std::string);
void ignore_node (std::string);
void done ();
+ Time time_attribute (std::string);
+ float float_attribute (std::string);
+ std::string string_attribute (std::string);
+ std::string optional_string_attribute (std::string);
+ int64_t int64_attribute (std::string);
+ int64_t optional_int64_attribute (std::string);
+ boost::optional<bool> optional_bool_attribute (std::string);
+ boost::optional<Color> optional_color_attribute (std::string);
+
+ std::string content ();
+
template <class T>
boost::shared_ptr<T> sub_node (std::string name) {
return boost::shared_ptr<T> (new T (xml_node (name)));
return r;
}
+ template <class T>
+ std::list<boost::shared_ptr<T> > sub_nodes (std::string name, std::string sub) {
+ XMLNode p (xml_node (name));
+ return p.sub_nodes<T> (sub);
+ }
+
xmlpp::Node const * _node;
private: