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 char *xmlnode_to_formatted_str(xmlnode *node, int *len);
00058 xmlnode *xmlnode_from_str(const char *str, size_t size);
00059 xmlnode *xmlnode_copy(xmlnode *src);
00060 
00061 void xmlnode_free(xmlnode *node);
00062 
00063 #endif /* _GAIM_XMLNODE_H_ */

Generated on Sun Feb 18 08:38:11 2007 for gaim by  doxygen 1.5.1