47 ResourceData *pg_resource; |
47 ResourceData *pg_resource; |
48 PGconn *connection; |
48 PGconn *connection; |
49 PgRepository *repository; |
49 PgRepository *repository; |
50 char root_resource_id_str[32]; |
50 char root_resource_id_str[32]; |
51 } PgWebdavBackend; |
51 } PgWebdavBackend; |
|
52 |
|
53 typedef struct PgPropfindExtCol { |
|
54 /* |
|
55 * property extension config |
|
56 */ |
|
57 PgPropertyStoreExt *ext; |
|
58 /* |
|
59 * Result field number |
|
60 */ |
|
61 int field_num; |
|
62 } PgPropfindExtCol; |
52 |
63 |
53 typedef struct PgPropfind { |
64 typedef struct PgPropfind { |
54 const char *path; |
65 const char *path; |
55 int64_t resource_id; |
66 int64_t resource_id; |
56 WebdavVFSProperties vfsproperties; |
67 WebdavVFSProperties vfsproperties; |
57 PGresult *result; |
68 PGresult *result; |
|
69 PgPropfindExtCol *ext; |
|
70 size_t numext; |
58 int nrows; |
71 int nrows; |
59 } PgPropfind; |
72 } PgPropfind; |
60 |
73 |
61 void* pg_webdav_init(ServerConfiguration *cfg, pool_handle_t *pool, WSConfigNode *config); |
74 void* pg_webdav_init(ServerConfiguration *cfg, pool_handle_t *pool, WSConfigNode *config); |
62 WebdavBackend* pg_webdav_create(Session *sn, Request *rq, pblock *pb, void *initData); |
75 WebdavBackend* pg_webdav_create(Session *sn, Request *rq, pblock *pb, void *initData); |