X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flibmarklin%2Ftrain.cpp;h=f8ef1715dbc5aa6d7a6a33bd476bb9db510d0939;hb=3df8cb5c78fbb0b919bcb79677c6c788b8028482;hp=f55d7ad4ea79fbff8acdc522aee39e231909887f;hpb=319f90fd59587efc1242c34f307abc29f323642b;p=r2c2.git diff --git a/source/libmarklin/train.cpp b/source/libmarklin/train.cpp index f55d7ad..f8ef171 100644 --- a/source/libmarklin/train.cpp +++ b/source/libmarklin/train.cpp @@ -139,6 +139,12 @@ void Train::tick(const Time::TimeStamp &t, const Time::TimeDelta &dt) } } +void Train::save(list &st) const +{ + st.push_back((DataFile::Statement("name"), name)); + st.push_back((DataFile::Statement("speed_scale"), speed_scale, speed_scale_weight)); +} + void Train::sensor_event(bool state, Sensor *sensor) { unsigned addr=sensor->get_address(); @@ -306,4 +312,12 @@ void Train::set_position(const Block::Endpoint &bep) pos=cur_track->get_endpoint_position(cur_track_ep); } + +Train::Loader::Loader(Train &t): + DataFile::BasicLoader(t) +{ + add("name", &Train::name); + add("speed_scale", &Train::speed_scale, &Train::speed_scale_weight); +} + } // namespace Marklin