DataFile::Statement st("train");
st.append(i->second->get_locomotive_type().get_article_number());
st.append(i->second->get_address());
+ st.append(i->second->get_protocol());
i->second->save(st.sub);
writer.write(st);
}
add("base", &Layout::base);
add("route", static_cast<void (Loader::*)()>(&Loader::route));
add("route", static_cast<void (Loader::*)(const string &)>(&Loader::route));
- add("track", &Loader::track);
- add("train", &Loader::train);
+ add("track", static_cast<void (Loader::*)(unsigned)>(&Loader::track));
+ add("track", static_cast<void (Loader::*)(ArticleNumber)>(&Loader::track));
+ add("train", static_cast<void (Loader::*)(unsigned, unsigned, const std::string &)>(&Loader::train));
+ add("train", static_cast<void (Loader::*)(ArticleNumber, unsigned, const std::string &)>(&Loader::train));
}
void Layout::Loader::finish()
}
void Layout::Loader::track(unsigned art_nr)
+{
+ track(ArticleNumber(art_nr));
+}
+
+void Layout::Loader::track(ArticleNumber art_nr)
{
Track *trk = new Track(obj, obj.catalogue.get_track(art_nr));
load_sub(*trk);
trk->snap_to(**i, true);
}
-void Layout::Loader::train(unsigned art_nr, unsigned addr)
+void Layout::Loader::train(unsigned art_nr, unsigned addr, const std::string &proto)
+{
+ train(ArticleNumber(art_nr), addr, proto);
+}
+
+void Layout::Loader::train(ArticleNumber art_nr, unsigned addr, const std::string &proto)
{
- Train *trn = new Train(obj, obj.catalogue.get_vehicle(art_nr), addr);
+ Train *trn = new Train(obj, obj.catalogue.get_vehicle(art_nr), addr, proto);
load_sub(*trn);
}