]> git.tdb.fi Git - r2c2.git/blobdiff - source/libr2c2/clock.cpp
Save and load clock settings
[r2c2.git] / source / libr2c2 / clock.cpp
index 1f467e81ba32369d3640693f24acf7e0b2c4e81c..93828cb90e5d87f728b4265a3bbed3f48ca03405 100644 (file)
@@ -1,5 +1,6 @@
 #include "clock.h"
 
+using namespace std;
 using namespace Msp;
 
 namespace R2C2 {
@@ -29,4 +30,23 @@ void Clock::tick(const Time::TimeDelta &dt)
                signal_minute.emit();
 }
 
+void Clock::save(list<DataFile::Statement> &st) const
+{
+       st.push_back((DataFile::Statement("rate"), rate));
+       st.push_back((DataFile::Statement("time"), current_time.raw()));
+}
+
+
+Clock::Loader::Loader(Clock &c):
+       DataFile::ObjectLoader<Clock>(c)
+{
+       add("rate", &Clock::rate);
+       add("time", &Loader::time);
+}
+
+void Clock::Loader::time(Time::RawTime t)
+{
+       obj.set_current_time(Time::TimeDelta(t));
+}
+
 } // namespace R2C2