#ifndef _PLIST_H
#define _PLIST_H
#ifndef NOINTNSACL
#define INTNSACL
#endif
#include "pool.h"
#include "../public/nsapi.h"
#include "plist_pvt.h"
#ifndef PUBLIC_NSACL_PLISTDEF_H
#include "plistdef.h"
#endif
#ifdef INTNSACL
#ifdef __cplusplus
extern "C" {
#endif
NSAPI_PUBLIC extern int PListAssignValue(
PList_t plist,
const char *pname,
const void *pvalue,
PList_t ptype);
NSAPI_PUBLIC extern PList_t PListCreate(
pool_handle_t *mempool,
int resvprop,
int maxprop,
int flags);
NSAPI_PUBLIC extern int PListDefProp(
PList_t plist,
int pindex,
const char *pname,
const int flags);
NSAPI_PUBLIC extern const void * PListDeleteProp(
PList_t plist,
int pindex,
const char *pname);
NSAPI_PUBLIC extern int PListFindValue(
PList_t plist,
const char *pname,
void **pvalue,
PList_t *type);
NSAPI_PUBLIC extern int PListInitProp(
PList_t plist,
int pindex,
const char *pname,
const void *pvalue,
PList_t ptype);
NSAPI_PUBLIC extern PList_t PListNew(
pool_handle_t *mempool);
NSAPI_PUBLIC extern void PListDestroy(
PList_t plist);
NSAPI_PUBLIC extern int PListGetValue(
PList_t plist,
int pindex,
void **pvalue,
PList_t *type);
NSAPI_PUBLIC extern int PListNameProp(
PList_t plist,
int pindex,
const char *pname);
NSAPI_PUBLIC extern int PListSetType(
PList_t plist,
int pindex,
PList_t type);
NSAPI_PUBLIC extern int PListSetValue(
PList_t plist,
int pindex,
const void *pvalue,
PList_t type);
NSAPI_PUBLIC extern void PListEnumerate(
PList_t plist,
PListFunc_t *user_func,
void *user_data);
NSAPI_PUBLIC extern PList_t
PListDuplicate(
PList_t plist,
pool_handle_t *new_mempool,
int flags);
NSAPI_PUBLIC extern pool_handle_t *PListGetPool(
PList_t plist);
NSAPI_PUBLIC extern int PListDefKey(
PList_t plist, pb_key *key,
const char *pname,
const int flags);
NSAPI_PUBLIC extern int PListInitKey(
PList_t plist, pb_key *key,
const void *pvalue,
PList_t ptype);
#ifdef __cplusplus
}
#endif
#endif
#endif