#pragma once
#include <string>
#include <map>
#include <vector>


class Config {
    private:
        bool parse_server(const char*);
        bool parse_match(const char*);
        bool parse_task(const char*);
        bool parse_line(std::string&);

    public:
        typedef struct {
            std::string from, to;
            std::string match_id;
        } agenda_t;
        typedef struct {
            std::string host, port;
            std::string user, pass;
            std::vector<agenda_t> tasks;
        } server_t;
        std::map<std::string, server_t> servers;
        std::map<std::string, std::string> matches;

        bool parse(const char* fn);
};