Main Page | Modules | Alphabetical List | Data Structures | File List | Data Fields | Globals | Related Pages

xmlnode.h

Go to the documentation of this file.
00001 
00024 #ifndef _GAIM_XMLNODE_H_
00025 #define _GAIM_XMLNODE_H_
00026 
00027 typedef enum _XMLNodeType
00028 {
00029     XMLNODE_TYPE_TAG,
00030     XMLNODE_TYPE_ATTRIB,
00031     XMLNODE_TYPE_DATA
00032 } XMLNodeType;
00033 
00034 typedef struct _xmlnode
00035 {
00036     char *name;
00037     XMLNodeType type;
00038     char *data;
00039     size_t data_sz;
00040     struct _xmlnode *parent;
00041     struct _xmlnode *child;
00042     struct _xmlnode *next;
00043 } xmlnode;
00044 
00045 xmlnode *xmlnode_new(const char *name);
00046 xmlnode *xmlnode_new_child(xmlnode *parent, const char *name);
00047 void xmlnode_insert_child(xmlnode *parent, xmlnode *child);
00048 xmlnode *xmlnode_get_child(xmlnode *parent, const char *name);
00049 xmlnode *xmlnode_get_child_with_namespace(xmlnode *parent, const char *name, const char *xmlns);
00050 xmlnode *xmlnode_get_next_twin(xmlnode *node);
00051 void xmlnode_insert_data(xmlnode *parent, const char *data, size_t size);
00052 char *xmlnode_get_data(xmlnode *node);
00053 void xmlnode_set_attrib(xmlnode *node, const char *attr, const char *value);
00054 const char *xmlnode_get_attrib(xmlnode *node, const char *attr);
00055 void xmlnode_remove_attrib(xmlnode *node, const char *attr);
00056 char *xmlnode_to_str(xmlnode *node, int *len);
00057 xmlnode *xmlnode_from_str(const char *str, size_t size);
00058 xmlnode *xmlnode_copy(xmlnode *src);
00059 
00060 void xmlnode_free(xmlnode *node);
00061 
00062 #endif /* _GAIM_XMLNODE_H_ */

Generated on Tue Aug 3 17:36:34 2004 for gaim by doxygen 1.3.4