blob: 01898d6410b64fed94efdccf03f1ff3861a80ff2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
#ifndef __CR_NODE_IFACE_H__
#define __CR_NODE_IFACE_H__
#include <glib.h>
G_BEGIN_DECLS
typedef gconstpointer CRXMLNodePtr ;
typedef struct _CRNodeIface CRNodeIface ;
struct _CRNodeIface {
/* Names based on DOM. */
CRXMLNodePtr (*getParentNode)(CRXMLNodePtr);
CRXMLNodePtr (*getFirstChild)(CRXMLNodePtr);
CRXMLNodePtr (*getNextSibling)(CRXMLNodePtr);
CRXMLNodePtr (*getPrevSibling)(CRXMLNodePtr);
char const *(*getLocalName)(CRXMLNodePtr);
char *(*getProp)(CRXMLNodePtr, char const *);
/* Others. */
void (*freePropVal)(void *);
gboolean (*isElementNode)(CRXMLNodePtr);
#if 0
char const *getLang(CRXMLNodePtr);
/* todo: Make it easy to have the default xml rules for lang. Maybe interpret NULL
like this. Or provide a cr_get_xml_lang(CRNodeIface const *, CRXMLNodePtr) function. */
#endif
};
G_END_DECLS
#endif/*__CR_NODE_IFACE_H__*/
|