File: settings.cpp

package info (click to toggle)
ares 126-3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 32,600 kB
  • sloc: cpp: 356,508; ansic: 20,394; makefile: 16; sh: 2
file content (23 lines) | stat: -rw-r--r-- 563 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Settings settings;

auto Settings::serialize() -> string {
  string s;
  #define write(name) s.append(#name, ": ", name, "\n")
  write(createManifests);
  write(useDatabase);
  write(useHeuristics);
  write(recent);
  #undef write
  return s;
}

auto Settings::unserialize(const string& markup) -> void {
  *this = {};
  auto s = BML::unserialize(markup);
  #define read(name, type) if(auto node = s[#name]) name = node.type()
  read(createManifests, boolean);
  read(useDatabase, boolean);
  read(useHeuristics, boolean);
  read(recent, string);
  #undef read
}