示例#1
0
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);
}
示例#2
0
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);
}
示例#3
0
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++;
  }
}