clean up settings mechanism (fixes #9 & #62)

* init, load, persist, sync, clear
 * clean up frequent disk syncs which impacted iOS performance
 * insert disk sync into various iOS/OS X lifecycle events
 * implement clear
 * implement save on iOS
 * cleaner dictionary syntax
This commit is contained in:
Justin R. Miller
2014-02-13 12:21:35 -08:00
parent 62c79e05cd
commit 257ccd16bb
8 changed files with 88 additions and 109 deletions

View File

@@ -7,16 +7,17 @@ namespace llmr {
class Settings : private util::noncopyable {
public:
virtual void save() = 0;
virtual void load() = 0; // load into memory
virtual void persist() = 0; // persist in memory (then call sync() if platform-appropriate)
virtual void sync() = 0; // save to disk
virtual void clear() = 0; // clear from memory and disk
virtual ~Settings() {}
public:
// position
double longitude = 0;
double latitude = 0;
double scale = 0;
double angle = 0;
// debug
bool debug = false;
};