コード例 #1
0
ファイル: Deserialiser.cpp プロジェクト: rjsikarwar/XCSoar
void 
Deserialiser::Deserialise(OrderedTask &task)
{
  task.Clear();
  task.SetFactory(GetTaskFactoryType());
  task.Reset();

  OrderedTaskBehaviour beh = task.GetOrderedTaskBehaviour();
  Deserialise(beh);
  task.SetOrderedTaskBehaviour(beh);

  const DataNode::List children = node.ListChildrenNamed(_T("Point"));
  for (const auto &i : children) {
    std::unique_ptr<DataNode> point_node(i);
    Deserialiser pser(*point_node, waypoints);
    pser.DeserialiseTaskpoint(task);
  }
}
コード例 #2
0
ファイル: Serialiser.cpp プロジェクト: Plantain/XCSoar
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++;
  }
}