libidav/webdav.h

changeset 40
a95ee94b9204
parent 39
3e55bed345f9
child 42
6518b035a9df
--- a/libidav/webdav.h	Sat Sep 07 14:08:43 2013 +0200
+++ b/libidav/webdav.h	Mon Mar 17 18:42:01 2014 +0100
@@ -48,6 +48,7 @@
 typedef struct DavRequest    DavRequest;
 typedef struct DavNamespace  DavNamespace;
 typedef struct DavProperty   DavProperty;
+typedef struct DavKey        DavKey;
 
 #include "davql.h"
 
@@ -66,6 +67,11 @@
 
 typedef enum DavError DavError;
 
+#define DAV_SESSION_ENCRYPT_FILE     0x0001
+#define DAV_SESSION_ENCRYPT_NAME     0x0002
+#define DAV_SESSION_DECRYPT_PATH     0x0004 
+
+
 struct DavNamespace {
     char *prefix;
     char *name;
@@ -93,7 +99,7 @@
     CURL          *handle;
     char          *base_url;
     UcxMempool    *mp;
-    UcxAllocator  *allocator;
+    DavKey        *key;
     uint32_t      flags;
     DavError      error;
     const char    *errorstr;
@@ -101,6 +107,7 @@
 
 struct DavContext {
     UcxMap  *namespaces;
+    UcxMap  *keys;
     UcxList *sessions;
     DavProxy *http_proxy;
     DavProxy *https_proxy;
@@ -119,8 +126,23 @@
     char         *value;
 };
 
+#define DAV_KEY_AES128     0
+#define DAV_KEY_AES256     1
+#define DAV_KEY_PASSWORD   2
+
+struct DavKey {
+    char    *name;
+    int     type;
+    void    *data;
+    size_t  length;
+};
+
 DavContext* dav_context_new();
 void dav_context_destroy(DavContext *ctx);
+
+void dav_context_add_key(DavContext *context, DavKey *key);
+DavKey* dav_context_get_key(DavContext *context, char *name);
+
 int dav_add_namespace(DavContext *context, char *prefix, char *ns);
 DavNamespace* dav_get_namespace(DavContext *context, char *prefix);
 
@@ -142,7 +164,8 @@
 
 
 DavResource* dav_get(DavSession *sn, char *path, char *properties);
-DavResource* dav_get2(DavSession *sn, DavGetQuery *query);
+
+DavResource* dav_query_get(DavSession *sn, DavGetQuery *query);
 
 UcxList* parse_properties_string(DavContext *context, sstr_t str);
 

mercurial