summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/libcroco/cr-node-iface.h
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__*/