summaryrefslogtreecommitdiffstats
path: root/server/src/config.cppm
blob: ef827a63ec67bafb90895c8aac642571878f540f (about) (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
export module routemon:config;

import std;
import :log;

namespace routemon::config {

  export struct rwgps {
    std::string api_key;
    std::string auth_token;
  };

  export struct situations {
    std::string datex2_filename;
  };

  export struct database {
    std::string sqlite3_filename;
  };

  export struct http_server {
    bool lax_cors;
  };

  export struct logger {
    log::level level;
  };

  export struct app {
    rwgps       rwgps;
    situations  situations;
    database    database;
    http_server http_server;
    logger      logger;
  };

  export auto load_file(std::string const& filename) -> app;

} // namespace routemon::config