Xaint 1.0 API


Xaint Object Classes

XaintParser
XaintStream
XaintTree
XaintElement


Xaint Types

XaintType
XaintChar
XaintBool
XaintNum
XaintErr
XaintUnknown

Xaint Error Constants

XAINT_ERR_NIL
XAINT_ERR_OOM
XAINT_ERR_TOK
XAINT_ERR_FIL

Xaint Element Type Constants

XAINT_TYPE_LIST
XAINT_TYPE_SLIST
XAINT_TYPE_ELIST
XAINT_TYPE_SNAME
XAINT_TYPE_NAME
XAINT_TYPE_ENAME
XAINT_TYPE_STRING
XAINT_TYPE_COMMENT
XAINT_TYPE_PRAGMA
XAINT_TYPE_WS
XAINT_TYPE_TREE

Xaint Utility Types

UTF8Char
UCS4Char

Xaint Utility Methods

void Xaint_free(void *ptr);
void *Xaint_malloc(XaintNum size);
void *Xaint_realloc(void *ptr, XaintNum size);
UCS4Char *CreateUCS4String(UTF8Char *string);
UTF8Char *CreateUTF8String(UCS4Char *string);
void FreeUTF8String(UTF8Char *string);
void FreeUCS4String(UCS4Char *string);

XaintParser Class

Class Type

typedef struct XaintParser_type XaintParser;

Callback Types

typedef void (*XaintParserEventFunc)(XaintParser *xaint, XaintChar *data, XaintType type);
typedef void (*XaintParserDataRequestFunc)(XaintParser *xaint);

Creation/Deletion

XaintParser *XaintParser_new();
void XaintParser_delete(Xaint *xaint);

Methods

void Xaint_setEvent(Xaint *xaint, XaintEvent event);
void Xaint_setEOSEvent(Xaint *xaint, XaintEOSEvent eosEvent);
void Xaint_setDataRequest(Xaint *xaint, XaintDataRequest dataRequest);
void Xaint_setUserData(Xaint *xaint, void *userData);
void Xaint_feedData(Xaint *xaint, void *data, XaintNum size);
XaintErr Xaint_parse(Xaint *xaint);

Properties

void XaintParser_setEvent(XaintParser *xaintpr, XaintParserEventFunc event);
XaintParserEventFunc XaintParser_getEvent(XaintParser *xaintpr);
void XaintParser_setDataRequest(XaintParser *xaintpr, XaintParserDataRequestFunc dataRequest);
XaintParserDataRequestFunc XaintParser_getDataRequest(XaintParser *xaintpr);
void XaintParser_setUserData(XaintParser *xaintpr, XaintUnknown userData);
XaintUnknown Xaint_getUserData(XaintParser *xaintpr);
XaintErr XaintParser_getLastError(XaintParser *xaintpr);
XaintNum XaintParser_getRowNum(XaintParser *xaintpr);
XaintNum XaintParser_getColNum(XaintParser *xaintpr);

XaintStream Class

Class Type

typedef struct XaintStream_type XaintStream;

Callback Types

typedef void (*XaintStreamPairEvent)(XaintStream *xaintst, XaintChar *key, XaintChar *value, XaintChar *ws, XaintChar type);
typedef void (*XaintStreamWhitespaceEvent)(XaintStream *xaintst, XaintChar *data);
typedef void (*XaintStreamPragmaEvent)(XaintStream *xaintst, XaintChar *data);
typedef void (*XaintStreamCommentEvent)(XaintStream *xaintst, XaintChar *data);
typedef void (*XaintStreamDataRequest)(XaintStream *xaintst);

Creation/Deletion

XaintStream *XaintStream_new();
void XaintStream_delete(XaintStream *xaintst);

Methods

void XaintStream_feedData(XaintStream *xaintst, XaintUnknown data, XaintNum size);
XaintBool XaintStream_parse(XaintStream *xaintst);
XaintBool XaintStream_parseString(XaintStream *xaintst, XaintChar *string);
XaintParser *XaintStream_INTERNAL_get_xaintpr(XaintStream *xaintst);

Properties

void XaintStream_setStoreRecordNames(XaintStream *xaintst, XaintBool storeRecordNames);
XaintBool XaintStream_getStoreRecordNames(XaintStream *xaintst);
XaintChar *XaintStream_getRecordName(XaintStream *xaintst);
void XaintStream_setPairEvent(XaintStream *xaintst, XaintStreamPairEvent event);
XaintStreamPairEvent XaintStream_getPairEvent(XaintStream *xaintst);
void XaintStream_setWhitespaceEvent(XaintStream *xaintst, XaintStreamWhitespaceEvent event);
XaintStreamWhitespaceEvent XaintStream_getWhitespaceEvent(XaintStream *xaintst);
void XaintStream_setPragmaEvent(XaintStream *xaintst, XaintStreamPragmaEvent event);
XaintStreamPragmaEvent XaintStream_getPragmaEvent(XaintStream *xaintst);
void XaintStream_setCommentEvent(XaintStream *xaintst, XaintStreamCommentEvent event);
XaintStreamCommentEvent XaintStream_getCommentEvent(XaintStream *xaintst);
void XaintStream_setDataRequest(XaintStream *xaintst, XaintStreamDataRequest dataRequest);
XaintStreamDataRequest XaintStream_getDataRequest(XaintStream *xaintst);
void XaintStream_setUserData(XaintStream *xaintst, XaintUnknown userData);
XaintUnknown XaintStream_getUserData(XaintStream *xaintst);
XaintErr XaintStream_getLastError(XaintStream *xaintst);
XaintNum XaintStream_getRowNum(XaintStream *xaintst);
XaintNum XaintStream_getColNum(XaintStream *xaintst);

XaintTree Class

Class Type

typedef struct XaintTree_type XaintTree;

Callback Types

typedef XaintBool (*XaintTreeDataEvent)(XaintTree *xainttr, XaintUnknown data, XaintNum size, XaintBool finished);
typedef void (*XaintTreeDataRequest)(XaintTree *xainttr);

Creation/Deletion

XaintTree *XaintTree_new();
void XaintTree_delete(XaintTree *xainttr);

Methods

XaintBool XaintTree_load(XaintTree *xainttr, XaintChar *path);
XaintBool XaintTree_parse(XaintTree *xainttr);
XaintBool XaintTree_parseString(XaintTree *xainttr, XaintChar *string);
XaintBool XaintTree_save(XaintTree *xainttr);
XaintChar *XaintTree_saveToMemory(XaintTree *xainttr);
XaintBool XaintTree_saveToEvent(XaintTree *xainttr, XaintTreeDataEvent event);
void XaintTree_setDataRequest(XaintTree *xainttr, XaintTreeDataRequest dataRequest);
void XaintTree_feedData(XaintTree *xainttr, XaintUnknown data, XaintNum size);
XaintBool XaintTree_setAutoWS(XaintTree *xainttr, XaintBool autoWS, XaintChar *lineBreak, XaintChar character, XaintNum count);
void XaintTree_deleteAllElements(XaintTree *xainttr);
XaintStream *XaintTree_getXaintStreamInstance(XaintTree *xainttr);

Properties

void XaintTree_setUseBOM(XaintTree *xainttr, XaintBool useBOM);
XaintBool XaintTree_getUseBOM(XaintTree *xainttr);
void XaintTree_setPath(XaintTree *xainttr, XaintChar *path);
XaintChar *XaintTree_getPath(XaintTree *xainttr);
void XaintTree_setUserData(XaintTree *cametr, XaintUnknown userData);
XaintUnknown XaintTree_getUserData(XaintTree *xainttr);
XaintErr XaintTree_getLastError(XaintTree *xainttr);
XaintNum XaintTree_getRowNum(XaintTree *xainttr);
XaintNum XaintTree_getColNum(XaintTree *xainttr);
XaintElement *XaintTree_getRoot(XaintTree *xainttr);

XaintElement Class

Class Type

typedef struct XaintElement_type XaintElement;

Creation/Deletion

XaintElement *XaintElement_new(XaintTree *xainttr);
void XaintElement_delete(XaintElement *element);

Methods

XaintBool XaintElement_push(XaintElement *parentElement, XaintElement *newElement);
XaintBool XaintElement_pushBefore(XaintElement *refElement, XaintElement *newElement);
XaintBool XaintElement_pushAfter(XaintElement *refElement, XaintElement *newElement);
XaintBool XaintElement_pop(XaintElement *element);
XaintBool XaintElement_isAnonymous(XaintElement *element);
XaintBool XaintElement_isEmpty(XaintElement *element);
XaintBool XaintElement_hasProperties(XaintElement *element);
XaintNum XaintElement_numberOfProperties(XaintElement *element);

Properties

XaintType XaintElement_getType(XaintElement *element);
void XaintElement_setType(XaintElement *element, XaintType type);
XaintChar *XaintElement_getValue(XaintElement *element);
void XaintElement_setValue(XaintElement *element, XaintChar *value);
XaintChar *XaintElement_getName(XaintElement *element);
void XaintElement_setName(XaintElement *element, XaintChar *name);
XaintChar *XaintElement_getWS(XaintElement *element);
void XaintElement_setWS(XaintElement *element, XaintChar *ws);
XaintTree *XaintElement_getTree(XaintElement *element);
XaintElement *XaintElement_getParent(XaintElement *element);
XaintElement *XaintElement_getNext(XaintElement *element);
XaintElement *XaintElement_getPrev(XaintElement *element);
XaintElement *XaintElement_getChild(XaintElement *element);
void XaintElement_setProperty(XaintElement *element, XaintChar *name, XaintChar *value);
XaintChar *XaintElement_getProperty(XaintElement *element, XaintChar *name);