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 |