#ifndef CONFIG_H
#define CONFIG_H
#include <cx/string.h>
#include <stdbool.h>
#include <libidav/webdav.h>
#include <libidav/config.h>
#include <libidav/pwdstore.h>
#ifdef __cplusplus
extern "C" {
#endif
#define HTTP_PROXY 1
#define HTTPS_PROXY 2
int check_config_dir(void);
char* config_file_path(char *name);
cxmutstr config_load_file(const char *path);
int load_config(DavContext *ctx);
DavConfig* load_config_file(void);
void set_config(DavConfig *cfg);
DavConfig* get_config(void);
int store_config(void);
void free_config(void);
cxmutstr load_key_file(const char *filename);
PwdStore* get_pwdstore(void);
void set_pwdstore(PwdStore *newstore);
int pwdstore_save(PwdStore *pwdstore);
int get_stored_credentials(const char *credid, char **user, char **password);
const char* get_location_credentials(DavCfgRepository *repo, const char *path);
#ifdef __cplusplus
}
#endif
#endif