diff -r 570026d3a685 -r 47bc686fafe4 src/server/daemon/config.h --- a/src/server/daemon/config.h Sun May 15 08:56:00 2022 +0200 +++ b/src/server/daemon/config.h Sun Aug 07 13:46:43 2022 +0200 @@ -43,6 +43,9 @@ #include "acldata.h" #include "keyfile_auth.h" #include "log.h" +#include "vfs.h" + +#include "../webdav/webdav.h" #include #include @@ -54,8 +57,11 @@ #endif typedef struct mime_map MimeMap; + +typedef struct WebdavRepository WebdavRepository; +typedef struct WebdavBackendInitData WebdavBackendInitData; -typedef struct _server_configuration { +struct ServerConfiguration { pool_handle_t *pool; UcxAllocator *a; @@ -69,8 +75,19 @@ sstr_t tmp; sstr_t user; uint32_t ref; // reference counter -} ServerConfiguration; +}; +struct WebdavRepository { + VfsType *vfs; + void *vfsInitData; + UcxList *davBackends; // list of WebdavBackendInitData* + sstr_t object; +}; + +struct WebdavBackendInitData { + WebdavType *davType; + void *davInitData; +}; struct mime_map { UcxMap *map; @@ -98,6 +115,8 @@ int cfg_handle_vs(ServerConfiguration *cfg, ConfigNode *obj); +int cfg_handle_dav(ServerConfiguration *cfg, ConfigNode *obj); + ServerConfiguration* load_server_conf(char *file); void cfg_ref(ServerConfiguration *cfg); void cfg_unref(ServerConfiguration *cfg);