DataNode* Serialiser::serialise(const OrderedTaskPoint& data, const TCHAR* name) { // do nothing DataNode* child = m_node.add_child(_T("Point")); child->set_attribute(_T("type"), name); DataNode* wchild = child->add_child(_T("Waypoint")); Serialiser wser(*wchild); wser.serialise(data.get_waypoint()); delete wchild; DataNode* ochild = child->add_child(_T("ObservationZone")); Serialiser oser(*ochild); oser.serialise(*data.get_oz()); delete ochild; return child; }