void Serialiser::serialise(const OrderedTask& data) { m_node.set_attribute(_T("type"), task_factory_type(data.get_factory_type())); serialise(data.get_ordered_task_behaviour()); data.tp_CAccept(*this); }
void Serialiser::serialise(const OrderedTask &task) { m_node.set_attribute(_T("type"), task_factory_type(task.get_factory_type())); serialise(task.get_ordered_task_behaviour()); mode_optional_start = false; task.AcceptTaskPointVisitor(*this); mode_optional_start = true; task.AcceptStartPointVisitor(*this); }
void Serialiser::deserialise(OrderedTask& data) { data.clear(); data.set_factory(task_factory_type()); data.reset(); OrderedTaskBehaviour beh = data.get_ordered_task_behaviour(); deserialise(beh); data.set_ordered_task_behaviour(beh); DataNode* point_node; unsigned i=0; while ((point_node = m_node.get_child_by_name(_T("Point"),i)) != NULL) { Serialiser pser(*point_node); pser.deserialise_point(data); delete point_node; i++; } }