src/server/daemon/config.h

branch
webdav
changeset 366
47bc686fafe4
parent 269
3dfbd0b91950
child 368
69dbcc7e7f93
--- 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 <ucx/list.h>
 #include <ucx/map.h>
@@ -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);

mercurial