#ifndef WS_PG_CONFIG_H
#define WS_PG_CONFIG_H
#include "../../public/nsapi.h"
#include "../../public/webdav.h"
#include "../../daemon/config.h"
#include "../../config/serverconfig.h"
#include <inttypes.h>
#include <libpq-fe.h>
#include <cx/string.h>
#include <cx/linked_list.h>
#include <cx/hash_map.h>
#include <cx/compare.h>
#ifdef __cplusplus
extern "C" {
#endif
typedef struct {
char *table;
WSBool isused;
} PgExtTable;
typedef struct PgRepository {
int64_t root_resource_id;
cxmutstr resourcepool;
PgExtTable *tables;
size_t ntables;
CxMap *prop_ext;
} PgRepository;
typedef struct {
char *column;
char *ns;
char *name;
int tableindex;
} PgPropertyStoreExt;
typedef struct {
CxMap *table_lookup;
CxList *tables;
} PgExtParser;
int pg_lookup_root(ResourceData *res,
const char *rootnode,
int64_t *rootid);
PgRepository* pg_init_repo(ServerConfiguration *cfg,
pool_handle_t *pool, WSConfigNode *config);
#ifdef __cplusplus
}
#endif
#endif