blob: 9c2d30efe60ccbd3a4f19218c9deaf20d8c46f3d (
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
35
|
#ifndef __CR_NODE_IFACE_H__
#define __CR_NODE_IFACE_H__
#include <glib/gmacros.h>
#include <glib/gtypes.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__*/
|