src/server/plugins/postgresql/webdav.h

branch
webdav
changeset 374
77506ec632a4
parent 366
47bc686fafe4
child 376
61d481d3c2e4
equal deleted inserted replaced
373:f78a585e1a2f 374:77506ec632a4
30 #define WS_PG_WEBDAV_H 30 #define WS_PG_WEBDAV_H
31 31
32 #include "../../public/nsapi.h" 32 #include "../../public/nsapi.h"
33 #include "../../public/webdav.h" 33 #include "../../public/webdav.h"
34 34
35 #include "config.h"
36
35 #include <libpq-fe.h> 37 #include <libpq-fe.h>
36 #include <ucx/buffer.h> 38 #include <ucx/buffer.h>
37 39
38 #ifdef __cplusplus 40 #ifdef __cplusplus
39 extern "C" { 41 extern "C" {
42 #define PG_MAX_PATH_LEN 0x8000 44 #define PG_MAX_PATH_LEN 0x8000
43 45
44 typedef struct PgWebdavBackend { 46 typedef struct PgWebdavBackend {
45 ResourceData *pg_resource; 47 ResourceData *pg_resource;
46 PGconn *connection; 48 PGconn *connection;
47 int64_t root_resource_id; 49 PgRepository *repository;
50 char root_resource_id_str[32];
48 } PgWebdavBackend; 51 } PgWebdavBackend;
49 52
50 typedef struct PgPropfind { 53 typedef struct PgPropfind {
51 const char *path; 54 const char *path;
52 int64_t resource_id; 55 int64_t resource_id;
55 int nrows; 58 int nrows;
56 } PgPropfind; 59 } PgPropfind;
57 60
58 void* pg_webdav_init(ServerConfiguration *cfg, pool_handle_t *pool, WSConfigNode *config); 61 void* pg_webdav_init(ServerConfiguration *cfg, pool_handle_t *pool, WSConfigNode *config);
59 WebdavBackend* pg_webdav_create(Session *sn, Request *rq, pblock *pb, void *initData); 62 WebdavBackend* pg_webdav_create(Session *sn, Request *rq, pblock *pb, void *initData);
60 WebdavBackend* pg_webdav_create_from_resdata(Session *sn, Request *rq, ResourceData *resdata); 63 WebdavBackend* pg_webdav_create_from_resdata(Session *sn, Request *rq, PgRepository *repo, ResourceData *resdata);
61 64
62 WebdavBackend* pg_webdav_prop_create(Session *sn, Request *rq, pblock *pb); 65 WebdavBackend* pg_webdav_prop_create(Session *sn, Request *rq, pblock *pb);
63 66
64 int pg_create_property_param_arrays(WebdavPList *plist, UcxBuffer *xmlns, UcxBuffer *pname); 67 int pg_create_property_param_arrays(WebdavPList *plist, UcxBuffer *xmlns, UcxBuffer *pname);
65 68

mercurial