libpurple/xmlnode.h

Sun, 21 Jun 2020 04:16:15 -0500

author
Gary Kramlich <grim@reaperworld.com>
date
Sun, 21 Jun 2020 04:16:15 -0500
changeset 40474
1341be8e3402
parent 39659
e4dfb99b0cef
child 40584
6f198a69ac48
permissions
-rw-r--r--

Make it so only libpurple can directly include libpurple header files.

This is part of our on going effort to make it easier to develop against libpurple as well as making our filenames not part of our api.

Make it so only libpurple can directly include libpurple header files.

Testing Done:
Just a normal compile to make sure everything builds again.

Reviewed at https://reviews.imfreedom.org/r/8/

20147
66f05a854eee applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents: 19897
diff changeset
1 /* purple
7131
bde45b2e6bf3 [gaim-migrate @ 7698]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2 *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15609
diff changeset
3 * Purple is the legal property of its developers, whose names are too numerous
8046
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 7642
diff changeset
4 * to list here. Please refer to the COPYRIGHT file distributed with this
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 7642
diff changeset
5 * source distribution.
7131
bde45b2e6bf3 [gaim-migrate @ 7698]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
6 *
bde45b2e6bf3 [gaim-migrate @ 7698]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
7 * This program is free software; you can redistribute it and/or modify
bde45b2e6bf3 [gaim-migrate @ 7698]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
8 * it under the terms of the GNU General Public License as published by
bde45b2e6bf3 [gaim-migrate @ 7698]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
9 * the Free Software Foundation; either version 2 of the License, or
bde45b2e6bf3 [gaim-migrate @ 7698]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
10 * (at your option) any later version.
bde45b2e6bf3 [gaim-migrate @ 7698]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
11 *
bde45b2e6bf3 [gaim-migrate @ 7698]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
12 * This program is distributed in the hope that it will be useful,
bde45b2e6bf3 [gaim-migrate @ 7698]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
bde45b2e6bf3 [gaim-migrate @ 7698]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
bde45b2e6bf3 [gaim-migrate @ 7698]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
15 * GNU General Public License for more details.
bde45b2e6bf3 [gaim-migrate @ 7698]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
16 *
bde45b2e6bf3 [gaim-migrate @ 7698]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
17 * You should have received a copy of the GNU General Public License
bde45b2e6bf3 [gaim-migrate @ 7698]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
18 * along with this program; if not, write to the Free Software
19859
71d37b57eff2 The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 18131
diff changeset
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
7131
bde45b2e6bf3 [gaim-migrate @ 7698]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
20 */
35487
494f09f7f331 Move section blocks inside inclusion guards -- otherwise g-ir-scanner yells
Ankit Vani <a@nevitus.org>
parents: 35468
diff changeset
21
40474
1341be8e3402 Make it so only libpurple can directly include libpurple header files.
Gary Kramlich <grim@reaperworld.com>
parents: 39659
diff changeset
22 #if !defined(PURPLE_GLOBAL_HEADER_INSIDE) && !defined(PURPLE_COMPILATION)
1341be8e3402 Make it so only libpurple can directly include libpurple header files.
Gary Kramlich <grim@reaperworld.com>
parents: 39659
diff changeset
23 # error "only <purple.h> may be included directly"
1341be8e3402 Make it so only libpurple can directly include libpurple header files.
Gary Kramlich <grim@reaperworld.com>
parents: 39659
diff changeset
24 #endif
1341be8e3402 Make it so only libpurple can directly include libpurple header files.
Gary Kramlich <grim@reaperworld.com>
parents: 39659
diff changeset
25
39659
e4dfb99b0cef Fix libpurple header guards using reserved names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 37094
diff changeset
26 #ifndef PURPLE_XMLNODE_H
e4dfb99b0cef Fix libpurple header guards using reserved names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 37094
diff changeset
27 #define PURPLE_XMLNODE_H
35442
84e906df98dd Add section blocks for purple-socket.h to xmlnode.h
Ankit Vani <a@nevitus.org>
parents: 35403
diff changeset
28 /**
84e906df98dd Add section blocks for purple-socket.h to xmlnode.h
Ankit Vani <a@nevitus.org>
parents: 35403
diff changeset
29 * SECTION:xmlnode
84e906df98dd Add section blocks for purple-socket.h to xmlnode.h
Ankit Vani <a@nevitus.org>
parents: 35403
diff changeset
30 * @section_id: libpurple-xmlnode
84e906df98dd Add section blocks for purple-socket.h to xmlnode.h
Ankit Vani <a@nevitus.org>
parents: 35403
diff changeset
31 * @short_description: <filename>xmlnode.h</filename>
84e906df98dd Add section blocks for purple-socket.h to xmlnode.h
Ankit Vani <a@nevitus.org>
parents: 35403
diff changeset
32 * @title: XML DOM functions
84e906df98dd Add section blocks for purple-socket.h to xmlnode.h
Ankit Vani <a@nevitus.org>
parents: 35403
diff changeset
33 */
84e906df98dd Add section blocks for purple-socket.h to xmlnode.h
Ankit Vani <a@nevitus.org>
parents: 35403
diff changeset
34
23659
8251d0f67df5 restructured much of the loader and themes for the buddy list, along with a basic trial of group background
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23643
diff changeset
35 #include <glib.h>
34863
dc0c27a2289a Included glib-object.h in xmlnode.h
Ankit Vani <a@nevitus.org>
parents: 34791
diff changeset
36 #include <glib-object.h>
23659
8251d0f67df5 restructured much of the loader and themes for the buddy list, along with a basic trial of group background
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23643
diff changeset
37
34935
686fa55b0deb Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents: 34863
diff changeset
38 #define PURPLE_TYPE_XMLNODE (purple_xmlnode_get_type())
34791
df49377a0778 Added GBoxed wrapping to xmlnode
Ankit Vani <a@nevitus.org>
parents: 33889
diff changeset
39
10327
a2b44a6bff0e [gaim-migrate @ 11534]
Gary Kramlich <grim@pidgin.im>
parents: 9837
diff changeset
40 /**
35403
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
41 * PurpleXmlNodeType:
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
42 * @PURPLE_XMLNODE_TYPE_TAG: Just a tag
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
43 * @PURPLE_XMLNODE_TYPE_ATTRIB: Has attributes
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
44 * @PURPLE_XMLNODE_TYPE_DATA: Has data
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
45 *
34935
686fa55b0deb Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents: 34863
diff changeset
46 * The valid types for an PurpleXmlNode
10327
a2b44a6bff0e [gaim-migrate @ 11534]
Gary Kramlich <grim@pidgin.im>
parents: 9837
diff changeset
47 */
32206
a2c62b07ae5a Please correct me if I'm wrong, but I don't think we gain anything
Mark Doliner <markdoliner@pidgin.im>
parents: 30510
diff changeset
48 typedef enum
7131
bde45b2e6bf3 [gaim-migrate @ 7698]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
49 {
35403
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
50 PURPLE_XMLNODE_TYPE_TAG,
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
51 PURPLE_XMLNODE_TYPE_ATTRIB,
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
52 PURPLE_XMLNODE_TYPE_DATA
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
53
34935
686fa55b0deb Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents: 34863
diff changeset
54 } PurpleXmlNodeType;
7131
bde45b2e6bf3 [gaim-migrate @ 7698]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
55
10327
a2b44a6bff0e [gaim-migrate @ 11534]
Gary Kramlich <grim@pidgin.im>
parents: 9837
diff changeset
56 /**
35403
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
57 * PurpleXmlNode:
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
58 * @name: The name of the node.
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
59 * @xmlns: The namespace of the node.
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
60 * @type: The type of the node.
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
61 * @data: The data for the node.
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
62 * @data_sz: The size of the data.
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
63 * @parent: The parent node or %NULL.
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
64 * @child: The child node or %NULL.
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
65 * @lastchild: The last child node or %NULL.
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
66 * @next: The next node or %NULL.
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
67 * @prefix: The namespace prefix if any.
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
68 * @namespace_map: The namespace map.
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
69 *
34935
686fa55b0deb Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents: 34863
diff changeset
70 * An PurpleXmlNode.
10327
a2b44a6bff0e [gaim-migrate @ 11534]
Gary Kramlich <grim@pidgin.im>
parents: 9837
diff changeset
71 */
34935
686fa55b0deb Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents: 34863
diff changeset
72 typedef struct _PurpleXmlNode PurpleXmlNode;
686fa55b0deb Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents: 34863
diff changeset
73 struct _PurpleXmlNode
7131
bde45b2e6bf3 [gaim-migrate @ 7698]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
74 {
35403
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
75 char *name;
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
76 char *xmlns;
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
77 PurpleXmlNodeType type;
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
78 char *data;
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
79 size_t data_sz;
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
80 PurpleXmlNode *parent;
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
81 PurpleXmlNode *child;
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
82 PurpleXmlNode *lastchild;
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
83 PurpleXmlNode *next;
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
84 char *prefix;
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
85 GHashTable *namespace_map;
14386
5563ea640401 [gaim-migrate @ 17019]
Nathan Walp <nwalp@pidgin.im>
parents: 14254
diff changeset
86 };
7131
bde45b2e6bf3 [gaim-migrate @ 7698]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
87
32787
7072f190d6ad Use G_BEGIN/END_DECLS in public libpurple files. This was
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32554
diff changeset
88 G_BEGIN_DECLS
7072f190d6ad Use G_BEGIN/END_DECLS in public libpurple files. This was
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32554
diff changeset
89
10327
a2b44a6bff0e [gaim-migrate @ 11534]
Gary Kramlich <grim@pidgin.im>
parents: 9837
diff changeset
90 /**
35403
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
91 * purple_xmlnode_get_type:
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
92 *
35466
e259e75f1c6f Fix some gtk-doc warnings till xmlnode.h
Ankit Vani <a@nevitus.org>
parents: 35442
diff changeset
93 * Returns: The #GType for the #PurpleXmlNode boxed structure.
34791
df49377a0778 Added GBoxed wrapping to xmlnode
Ankit Vani <a@nevitus.org>
parents: 33889
diff changeset
94 */
34935
686fa55b0deb Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents: 34863
diff changeset
95 GType purple_xmlnode_get_type(void);
34791
df49377a0778 Added GBoxed wrapping to xmlnode
Ankit Vani <a@nevitus.org>
parents: 33889
diff changeset
96
df49377a0778 Added GBoxed wrapping to xmlnode
Ankit Vani <a@nevitus.org>
parents: 33889
diff changeset
97 /**
35403
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
98 * purple_xmlnode_new:
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
99 * @name: The name of the node.
10327
a2b44a6bff0e [gaim-migrate @ 11534]
Gary Kramlich <grim@pidgin.im>
parents: 9837
diff changeset
100 *
35403
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
101 * Creates a new PurpleXmlNode.
10327
a2b44a6bff0e [gaim-migrate @ 11534]
Gary Kramlich <grim@pidgin.im>
parents: 9837
diff changeset
102 *
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 34935
diff changeset
103 * Returns: The new node.
10327
a2b44a6bff0e [gaim-migrate @ 11534]
Gary Kramlich <grim@pidgin.im>
parents: 9837
diff changeset
104 */
34935
686fa55b0deb Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents: 34863
diff changeset
105 PurpleXmlNode *purple_xmlnode_new(const char *name);
10327
a2b44a6bff0e [gaim-migrate @ 11534]
Gary Kramlich <grim@pidgin.im>
parents: 9837
diff changeset
106
a2b44a6bff0e [gaim-migrate @ 11534]
Gary Kramlich <grim@pidgin.im>
parents: 9837
diff changeset
107 /**
35403
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
108 * purple_xmlnode_new_child:
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 34935
diff changeset
109 * @parent: The parent node.
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 34935
diff changeset
110 * @name: The name of the child node.
10327
a2b44a6bff0e [gaim-migrate @ 11534]
Gary Kramlich <grim@pidgin.im>
parents: 9837
diff changeset
111 *
35403
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
112 * Creates a new PurpleXmlNode child.
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
113 *
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 34935
diff changeset
114 * Returns: The new child node.
10327
a2b44a6bff0e [gaim-migrate @ 11534]
Gary Kramlich <grim@pidgin.im>
parents: 9837
diff changeset
115 */
34935
686fa55b0deb Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents: 34863
diff changeset
116 PurpleXmlNode *purple_xmlnode_new_child(PurpleXmlNode *parent, const char *name);
10327
a2b44a6bff0e [gaim-migrate @ 11534]
Gary Kramlich <grim@pidgin.im>
parents: 9837
diff changeset
117
a2b44a6bff0e [gaim-migrate @ 11534]
Gary Kramlich <grim@pidgin.im>
parents: 9837
diff changeset
118 /**
35403
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
119 * purple_xmlnode_insert_child:
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 34935
diff changeset
120 * @parent: The parent node to insert child into.
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 34935
diff changeset
121 * @child: The child node to insert into parent.
35403
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
122 *
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
123 * Inserts a node into a node as a child.
10327
a2b44a6bff0e [gaim-migrate @ 11534]
Gary Kramlich <grim@pidgin.im>
parents: 9837
diff changeset
124 */
34935
686fa55b0deb Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents: 34863
diff changeset
125 void purple_xmlnode_insert_child(PurpleXmlNode *parent, PurpleXmlNode *child);
10327
a2b44a6bff0e [gaim-migrate @ 11534]
Gary Kramlich <grim@pidgin.im>
parents: 9837
diff changeset
126
a2b44a6bff0e [gaim-migrate @ 11534]
Gary Kramlich <grim@pidgin.im>
parents: 9837
diff changeset
127 /**
35403
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
128 * purple_xmlnode_get_child:
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 34935
diff changeset
129 * @parent: The parent node.
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 34935
diff changeset
130 * @name: The child's name.
10327
a2b44a6bff0e [gaim-migrate @ 11534]
Gary Kramlich <grim@pidgin.im>
parents: 9837
diff changeset
131 *
35403
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
132 * Gets a child node named name.
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
133 *
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 34935
diff changeset
134 * Returns: The child or NULL.
10327
a2b44a6bff0e [gaim-migrate @ 11534]
Gary Kramlich <grim@pidgin.im>
parents: 9837
diff changeset
135 */
34935
686fa55b0deb Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents: 34863
diff changeset
136 PurpleXmlNode *purple_xmlnode_get_child(const PurpleXmlNode *parent, const char *name);
10327
a2b44a6bff0e [gaim-migrate @ 11534]
Gary Kramlich <grim@pidgin.im>
parents: 9837
diff changeset
137
a2b44a6bff0e [gaim-migrate @ 11534]
Gary Kramlich <grim@pidgin.im>
parents: 9837
diff changeset
138 /**
35403
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
139 * purple_xmlnode_get_child_with_namespace:
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 34935
diff changeset
140 * @parent: The parent node.
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 34935
diff changeset
141 * @name: The child's name.
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 34935
diff changeset
142 * @xmlns: The namespace.
10327
a2b44a6bff0e [gaim-migrate @ 11534]
Gary Kramlich <grim@pidgin.im>
parents: 9837
diff changeset
143 *
35403
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
144 * Gets a child node named name in a namespace.
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
145 *
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 34935
diff changeset
146 * Returns: The child or NULL.
10327
a2b44a6bff0e [gaim-migrate @ 11534]
Gary Kramlich <grim@pidgin.im>
parents: 9837
diff changeset
147 */
34935
686fa55b0deb Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents: 34863
diff changeset
148 PurpleXmlNode *purple_xmlnode_get_child_with_namespace(const PurpleXmlNode *parent, const char *name, const char *xmlns);
10327
a2b44a6bff0e [gaim-migrate @ 11534]
Gary Kramlich <grim@pidgin.im>
parents: 9837
diff changeset
149
a2b44a6bff0e [gaim-migrate @ 11534]
Gary Kramlich <grim@pidgin.im>
parents: 9837
diff changeset
150 /**
35403
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
151 * purple_xmlnode_get_next_twin:
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
152 * @node: The node of a twin to find.
10327
a2b44a6bff0e [gaim-migrate @ 11534]
Gary Kramlich <grim@pidgin.im>
parents: 9837
diff changeset
153 *
35403
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
154 * Gets the next node with the same name as node.
10327
a2b44a6bff0e [gaim-migrate @ 11534]
Gary Kramlich <grim@pidgin.im>
parents: 9837
diff changeset
155 *
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 34935
diff changeset
156 * Returns: The twin of node or NULL.
10327
a2b44a6bff0e [gaim-migrate @ 11534]
Gary Kramlich <grim@pidgin.im>
parents: 9837
diff changeset
157 */
34935
686fa55b0deb Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents: 34863
diff changeset
158 PurpleXmlNode *purple_xmlnode_get_next_twin(PurpleXmlNode *node);
10327
a2b44a6bff0e [gaim-migrate @ 11534]
Gary Kramlich <grim@pidgin.im>
parents: 9837
diff changeset
159
a2b44a6bff0e [gaim-migrate @ 11534]
Gary Kramlich <grim@pidgin.im>
parents: 9837
diff changeset
160 /**
35403
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
161 * purple_xmlnode_insert_data:
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 34935
diff changeset
162 * @node: The node to insert data into.
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 34935
diff changeset
163 * @data: The data to insert.
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 34935
diff changeset
164 * @size: The size of the data to insert. If data is
10415
faceb835eb87 [gaim-migrate @ 11665]
Mark Doliner <markdoliner@pidgin.im>
parents: 10337
diff changeset
165 * null-terminated you can pass in -1.
35403
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
166 *
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
167 * Inserts data into a node.
10327
a2b44a6bff0e [gaim-migrate @ 11534]
Gary Kramlich <grim@pidgin.im>
parents: 9837
diff changeset
168 */
34935
686fa55b0deb Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents: 34863
diff changeset
169 void purple_xmlnode_insert_data(PurpleXmlNode *node, const char *data, gssize size);
10327
a2b44a6bff0e [gaim-migrate @ 11534]
Gary Kramlich <grim@pidgin.im>
parents: 9837
diff changeset
170
a2b44a6bff0e [gaim-migrate @ 11534]
Gary Kramlich <grim@pidgin.im>
parents: 9837
diff changeset
171 /**
35403
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
172 * purple_xmlnode_get_data:
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
173 * @node: The node to get data from.
10327
a2b44a6bff0e [gaim-migrate @ 11534]
Gary Kramlich <grim@pidgin.im>
parents: 9837
diff changeset
174 *
35403
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
175 * Gets (escaped) data from a node.
10327
a2b44a6bff0e [gaim-migrate @ 11534]
Gary Kramlich <grim@pidgin.im>
parents: 9837
diff changeset
176 *
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 34935
diff changeset
177 * Returns: The data from the node or NULL. This data is in raw escaped format.
18131
7127441da3ba add xmlnode_get_data_unescaped(), and got rid of an unecessary realloc
Nathan Walp <nwalp@pidgin.im>
parents: 15884
diff changeset
178 * You must g_free this string when finished using it.
7127441da3ba add xmlnode_get_data_unescaped(), and got rid of an unecessary realloc
Nathan Walp <nwalp@pidgin.im>
parents: 15884
diff changeset
179 */
34935
686fa55b0deb Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents: 34863
diff changeset
180 char *purple_xmlnode_get_data(const PurpleXmlNode *node);
18131
7127441da3ba add xmlnode_get_data_unescaped(), and got rid of an unecessary realloc
Nathan Walp <nwalp@pidgin.im>
parents: 15884
diff changeset
181
7127441da3ba add xmlnode_get_data_unescaped(), and got rid of an unecessary realloc
Nathan Walp <nwalp@pidgin.im>
parents: 15884
diff changeset
182 /**
35403
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
183 * purple_xmlnode_get_data_unescaped:
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
184 * @node: The node to get data from.
18131
7127441da3ba add xmlnode_get_data_unescaped(), and got rid of an unecessary realloc
Nathan Walp <nwalp@pidgin.im>
parents: 15884
diff changeset
185 *
35403
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
186 * Gets unescaped data from a node.
18131
7127441da3ba add xmlnode_get_data_unescaped(), and got rid of an unecessary realloc
Nathan Walp <nwalp@pidgin.im>
parents: 15884
diff changeset
187 *
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 34935
diff changeset
188 * Returns: The data from the node, in unescaped form. You must g_free
14162
3546040af8e2 [gaim-migrate @ 16730]
Daniel Atallah <datallah@pidgin.im>
parents: 13808
diff changeset
189 * this string when finished using it.
10327
a2b44a6bff0e [gaim-migrate @ 11534]
Gary Kramlich <grim@pidgin.im>
parents: 9837
diff changeset
190 */
34935
686fa55b0deb Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents: 34863
diff changeset
191 char *purple_xmlnode_get_data_unescaped(const PurpleXmlNode *node);
10327
a2b44a6bff0e [gaim-migrate @ 11534]
Gary Kramlich <grim@pidgin.im>
parents: 9837
diff changeset
192
a2b44a6bff0e [gaim-migrate @ 11534]
Gary Kramlich <grim@pidgin.im>
parents: 9837
diff changeset
193 /**
35403
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
194 * purple_xmlnode_set_attrib:
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 34935
diff changeset
195 * @node: The node to set an attribute for.
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 34935
diff changeset
196 * @attr: The name of the attribute.
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 34935
diff changeset
197 * @value: The value of the attribute.
35403
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
198 *
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
199 * Sets an attribute for a node.
10327
a2b44a6bff0e [gaim-migrate @ 11534]
Gary Kramlich <grim@pidgin.im>
parents: 9837
diff changeset
200 */
34935
686fa55b0deb Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents: 34863
diff changeset
201 void purple_xmlnode_set_attrib(PurpleXmlNode *node, const char *attr, const char *value);
10327
a2b44a6bff0e [gaim-migrate @ 11534]
Gary Kramlich <grim@pidgin.im>
parents: 9837
diff changeset
202
26393
7420fd99903a Add xmlnode_set_attrib_full that enables you to set an attribute with both
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 25911
diff changeset
203 /**
35403
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
204 * purple_xmlnode_set_attrib_full:
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 34935
diff changeset
205 * @node: The node to set an attribute for.
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 34935
diff changeset
206 * @attr: The name of the attribute to set
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 34935
diff changeset
207 * @xmlns: The namespace of the attribute to set
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 34935
diff changeset
208 * @prefix: The prefix of the attribute to set
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 34935
diff changeset
209 * @value: The value of the attribute
35403
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
210 *
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
211 * Sets a namespaced attribute for a node
26393
7420fd99903a Add xmlnode_set_attrib_full that enables you to set an attribute with both
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 25911
diff changeset
212 */
34935
686fa55b0deb Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents: 34863
diff changeset
213 void purple_xmlnode_set_attrib_full(PurpleXmlNode *node, const char *attr, const char *xmlns,
33889
4efe5c21db45 Doc and code formatting (use spaces not tabs to align comments after code and
Mark Doliner <mark@kingant.net>
parents: 32787
diff changeset
214 const char *prefix, const char *value);
15265
a5b0ab58b05d [gaim-migrate @ 17993]
Sean Egan <seanegan@pidgin.im>
parents: 15238
diff changeset
215
a5b0ab58b05d [gaim-migrate @ 17993]
Sean Egan <seanegan@pidgin.im>
parents: 15238
diff changeset
216 /**
35403
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
217 * purple_xmlnode_get_attrib:
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 34935
diff changeset
218 * @node: The node to get an attribute from.
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 34935
diff changeset
219 * @attr: The attribute to get.
10327
a2b44a6bff0e [gaim-migrate @ 11534]
Gary Kramlich <grim@pidgin.im>
parents: 9837
diff changeset
220 *
35403
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
221 * Gets an attribute from a node.
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
222 *
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 34935
diff changeset
223 * Returns: The value of the attribute.
10327
a2b44a6bff0e [gaim-migrate @ 11534]
Gary Kramlich <grim@pidgin.im>
parents: 9837
diff changeset
224 */
34935
686fa55b0deb Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents: 34863
diff changeset
225 const char *purple_xmlnode_get_attrib(const PurpleXmlNode *node, const char *attr);
10327
a2b44a6bff0e [gaim-migrate @ 11534]
Gary Kramlich <grim@pidgin.im>
parents: 9837
diff changeset
226
a2b44a6bff0e [gaim-migrate @ 11534]
Gary Kramlich <grim@pidgin.im>
parents: 9837
diff changeset
227 /**
35403
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
228 * purple_xmlnode_get_attrib_with_namespace:
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 34935
diff changeset
229 * @node: The node to get an attribute from.
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 34935
diff changeset
230 * @attr: The attribute to get
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 34935
diff changeset
231 * @xmlns: The namespace of the attribute to get
15265
a5b0ab58b05d [gaim-migrate @ 17993]
Sean Egan <seanegan@pidgin.im>
parents: 15238
diff changeset
232 *
35403
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
233 * Gets a namespaced attribute from a node
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
234 *
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 34935
diff changeset
235 * Returns: The value of the attribute/
15265
a5b0ab58b05d [gaim-migrate @ 17993]
Sean Egan <seanegan@pidgin.im>
parents: 15238
diff changeset
236 */
34935
686fa55b0deb Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents: 34863
diff changeset
237 const char *purple_xmlnode_get_attrib_with_namespace(const PurpleXmlNode *node, const char *attr, const char *xmlns);
15265
a5b0ab58b05d [gaim-migrate @ 17993]
Sean Egan <seanegan@pidgin.im>
parents: 15238
diff changeset
238
a5b0ab58b05d [gaim-migrate @ 17993]
Sean Egan <seanegan@pidgin.im>
parents: 15238
diff changeset
239 /**
35403
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
240 * purple_xmlnode_remove_attrib:
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 34935
diff changeset
241 * @node: The node to remove an attribute from.
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 34935
diff changeset
242 * @attr: The attribute to remove.
35403
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
243 *
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
244 * Removes an attribute from a node.
10327
a2b44a6bff0e [gaim-migrate @ 11534]
Gary Kramlich <grim@pidgin.im>
parents: 9837
diff changeset
245 */
34935
686fa55b0deb Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents: 34863
diff changeset
246 void purple_xmlnode_remove_attrib(PurpleXmlNode *node, const char *attr);
10327
a2b44a6bff0e [gaim-migrate @ 11534]
Gary Kramlich <grim@pidgin.im>
parents: 9837
diff changeset
247
a2b44a6bff0e [gaim-migrate @ 11534]
Gary Kramlich <grim@pidgin.im>
parents: 9837
diff changeset
248 /**
35403
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
249 * purple_xmlnode_remove_attrib_with_namespace:
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 34935
diff changeset
250 * @node: The node to remove an attribute from
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 34935
diff changeset
251 * @attr: The attribute to remove
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 34935
diff changeset
252 * @xmlns: The namespace of the attribute to remove
35403
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
253 *
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
254 * Removes a namespaced attribute from a node
15265
a5b0ab58b05d [gaim-migrate @ 17993]
Sean Egan <seanegan@pidgin.im>
parents: 15238
diff changeset
255 */
34935
686fa55b0deb Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents: 34863
diff changeset
256 void purple_xmlnode_remove_attrib_with_namespace(PurpleXmlNode *node, const char *attr, const char *xmlns);
15265
a5b0ab58b05d [gaim-migrate @ 17993]
Sean Egan <seanegan@pidgin.im>
parents: 15238
diff changeset
257
a5b0ab58b05d [gaim-migrate @ 17993]
Sean Egan <seanegan@pidgin.im>
parents: 15238
diff changeset
258 /**
35403
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
259 * purple_xmlnode_set_namespace:
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 34935
diff changeset
260 * @node: The node to qualify
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 34935
diff changeset
261 * @xmlns: The namespace of the node
35403
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
262 *
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
263 * Sets the namespace of a node
13808
411ee56da344 [gaim-migrate @ 16229]
Sean Egan <seanegan@pidgin.im>
parents: 12887
diff changeset
264 */
34935
686fa55b0deb Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents: 34863
diff changeset
265 void purple_xmlnode_set_namespace(PurpleXmlNode *node, const char *xmlns);
13808
411ee56da344 [gaim-migrate @ 16229]
Sean Egan <seanegan@pidgin.im>
parents: 12887
diff changeset
266
411ee56da344 [gaim-migrate @ 16229]
Sean Egan <seanegan@pidgin.im>
parents: 12887
diff changeset
267 /**
35403
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
268 * purple_xmlnode_get_namespace:
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
269 * @node: The node to get the namepsace from
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
270 *
13808
411ee56da344 [gaim-migrate @ 16229]
Sean Egan <seanegan@pidgin.im>
parents: 12887
diff changeset
271 * Returns the namespace of a node
411ee56da344 [gaim-migrate @ 16229]
Sean Egan <seanegan@pidgin.im>
parents: 12887
diff changeset
272 *
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 34935
diff changeset
273 * Returns: The namespace of this node
13808
411ee56da344 [gaim-migrate @ 16229]
Sean Egan <seanegan@pidgin.im>
parents: 12887
diff changeset
274 */
34935
686fa55b0deb Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents: 34863
diff changeset
275 const char *purple_xmlnode_get_namespace(const PurpleXmlNode *node);
32321
ae17a89ef666 xmlnode: Fix some brokeness in xmlnode serialization with prefixed elements.
Paul Aurich <darkrain42@pidgin.im>
parents: 32313
diff changeset
276
ae17a89ef666 xmlnode: Fix some brokeness in xmlnode serialization with prefixed elements.
Paul Aurich <darkrain42@pidgin.im>
parents: 32313
diff changeset
277 /**
35403
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
278 * purple_xmlnode_get_default_namespace:
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
279 * @node: The node for which to return the default namespace
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
280 *
32321
ae17a89ef666 xmlnode: Fix some brokeness in xmlnode serialization with prefixed elements.
Paul Aurich <darkrain42@pidgin.im>
parents: 32313
diff changeset
281 * Returns the current default namespace. The default
ae17a89ef666 xmlnode: Fix some brokeness in xmlnode serialization with prefixed elements.
Paul Aurich <darkrain42@pidgin.im>
parents: 32313
diff changeset
282 * namespace is the current namespace which applies to child
ae17a89ef666 xmlnode: Fix some brokeness in xmlnode serialization with prefixed elements.
Paul Aurich <darkrain42@pidgin.im>
parents: 32313
diff changeset
283 * elements which are unprefixed and which do not contain their
ae17a89ef666 xmlnode: Fix some brokeness in xmlnode serialization with prefixed elements.
Paul Aurich <darkrain42@pidgin.im>
parents: 32313
diff changeset
284 * own namespace.
ae17a89ef666 xmlnode: Fix some brokeness in xmlnode serialization with prefixed elements.
Paul Aurich <darkrain42@pidgin.im>
parents: 32313
diff changeset
285 *
ae17a89ef666 xmlnode: Fix some brokeness in xmlnode serialization with prefixed elements.
Paul Aurich <darkrain42@pidgin.im>
parents: 32313
diff changeset
286 * For example, given:
35468
65e7b4566de4 Fix HTML generation warnings by using DocBook tags
Ankit Vani <a@nevitus.org>
parents: 35466
diff changeset
287 * <programlisting>
65e7b4566de4 Fix HTML generation warnings by using DocBook tags
Ankit Vani <a@nevitus.org>
parents: 35466
diff changeset
288 * &lt;iq type='get' xmlns='jabber:client' xmlns:ns1='http://example.org/ns1'&gt;
65e7b4566de4 Fix HTML generation warnings by using DocBook tags
Ankit Vani <a@nevitus.org>
parents: 35466
diff changeset
289 * &lt;ns1:element&gt;&lt;child1/&gt;&lt;/ns1:element&gt;
65e7b4566de4 Fix HTML generation warnings by using DocBook tags
Ankit Vani <a@nevitus.org>
parents: 35466
diff changeset
290 * &lt;/iq&gt;
65e7b4566de4 Fix HTML generation warnings by using DocBook tags
Ankit Vani <a@nevitus.org>
parents: 35466
diff changeset
291 * </programlisting>
32321
ae17a89ef666 xmlnode: Fix some brokeness in xmlnode serialization with prefixed elements.
Paul Aurich <darkrain42@pidgin.im>
parents: 32313
diff changeset
292 *
ae17a89ef666 xmlnode: Fix some brokeness in xmlnode serialization with prefixed elements.
Paul Aurich <darkrain42@pidgin.im>
parents: 32313
diff changeset
293 * The default namespace of all nodes (including 'child1') is "jabber:client",
ae17a89ef666 xmlnode: Fix some brokeness in xmlnode serialization with prefixed elements.
Paul Aurich <darkrain42@pidgin.im>
parents: 32313
diff changeset
294 * though the namespace for 'element' is "http://example.org/ns1".
ae17a89ef666 xmlnode: Fix some brokeness in xmlnode serialization with prefixed elements.
Paul Aurich <darkrain42@pidgin.im>
parents: 32313
diff changeset
295 *
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 34935
diff changeset
296 * Returns: The default namespace of this node
32321
ae17a89ef666 xmlnode: Fix some brokeness in xmlnode serialization with prefixed elements.
Paul Aurich <darkrain42@pidgin.im>
parents: 32313
diff changeset
297 */
34935
686fa55b0deb Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents: 34863
diff changeset
298 const char *purple_xmlnode_get_default_namespace(const PurpleXmlNode *node);
13808
411ee56da344 [gaim-migrate @ 16229]
Sean Egan <seanegan@pidgin.im>
parents: 12887
diff changeset
299
411ee56da344 [gaim-migrate @ 16229]
Sean Egan <seanegan@pidgin.im>
parents: 12887
diff changeset
300 /**
35403
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
301 * purple_xmlnode_get_prefix_namespace:
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
302 * @node: The node from which to start the search.
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
303 * @prefix: The prefix for which to return the associated namespace.
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
304 *
32322
5c1dd6d9d57f xmlnode: Add xmlnode_strip_prefixes
Paul Aurich <darkrain42@pidgin.im>
parents: 32321
diff changeset
305 * Returns the defined namespace for a prefix.
5c1dd6d9d57f xmlnode: Add xmlnode_strip_prefixes
Paul Aurich <darkrain42@pidgin.im>
parents: 32321
diff changeset
306 *
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 34935
diff changeset
307 * Returns: The namespace for this prefix.
32322
5c1dd6d9d57f xmlnode: Add xmlnode_strip_prefixes
Paul Aurich <darkrain42@pidgin.im>
parents: 32321
diff changeset
308 */
34935
686fa55b0deb Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents: 34863
diff changeset
309 const char *purple_xmlnode_get_prefix_namespace(const PurpleXmlNode *node, const char *prefix);
32322
5c1dd6d9d57f xmlnode: Add xmlnode_strip_prefixes
Paul Aurich <darkrain42@pidgin.im>
parents: 32321
diff changeset
310
5c1dd6d9d57f xmlnode: Add xmlnode_strip_prefixes
Paul Aurich <darkrain42@pidgin.im>
parents: 32321
diff changeset
311 /**
35403
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
312 * purple_xmlnode_set_prefix:
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 34935
diff changeset
313 * @node: The node to qualify
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 34935
diff changeset
314 * @prefix: The prefix of the node
35403
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
315 *
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
316 * Sets the prefix of a node
21454
2ca06ee152ac make our xmlnode preserve prefixes
Ka-Hing Cheung <khc@pidgin.im>
parents: 20603
diff changeset
317 */
34935
686fa55b0deb Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents: 34863
diff changeset
318 void purple_xmlnode_set_prefix(PurpleXmlNode *node, const char *prefix);
21454
2ca06ee152ac make our xmlnode preserve prefixes
Ka-Hing Cheung <khc@pidgin.im>
parents: 20603
diff changeset
319
2ca06ee152ac make our xmlnode preserve prefixes
Ka-Hing Cheung <khc@pidgin.im>
parents: 20603
diff changeset
320 /**
35403
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
321 * purple_xmlnode_get_prefix:
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
322 * @node: The node to get the prefix from
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
323 *
21454
2ca06ee152ac make our xmlnode preserve prefixes
Ka-Hing Cheung <khc@pidgin.im>
parents: 20603
diff changeset
324 * Returns the prefix of a node
2ca06ee152ac make our xmlnode preserve prefixes
Ka-Hing Cheung <khc@pidgin.im>
parents: 20603
diff changeset
325 *
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 34935
diff changeset
326 * Returns: The prefix of this node
21454
2ca06ee152ac make our xmlnode preserve prefixes
Ka-Hing Cheung <khc@pidgin.im>
parents: 20603
diff changeset
327 */
34935
686fa55b0deb Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents: 34863
diff changeset
328 const char *purple_xmlnode_get_prefix(const PurpleXmlNode *node);
21454
2ca06ee152ac make our xmlnode preserve prefixes
Ka-Hing Cheung <khc@pidgin.im>
parents: 20603
diff changeset
329
2ca06ee152ac make our xmlnode preserve prefixes
Ka-Hing Cheung <khc@pidgin.im>
parents: 20603
diff changeset
330 /**
35403
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
331 * purple_xmlnode_strip_prefixes:
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
332 * @node: The node from which to strip prefixes
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
333 *
34935
686fa55b0deb Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents: 34863
diff changeset
334 * Remove all element prefixes from an PurpleXmlNode tree. The prefix's
32322
5c1dd6d9d57f xmlnode: Add xmlnode_strip_prefixes
Paul Aurich <darkrain42@pidgin.im>
parents: 32321
diff changeset
335 * namespace is transformed into the default namespace for an element.
5c1dd6d9d57f xmlnode: Add xmlnode_strip_prefixes
Paul Aurich <darkrain42@pidgin.im>
parents: 32321
diff changeset
336 *
5c1dd6d9d57f xmlnode: Add xmlnode_strip_prefixes
Paul Aurich <darkrain42@pidgin.im>
parents: 32321
diff changeset
337 * Note that this will not necessarily remove all prefixes in use
5c1dd6d9d57f xmlnode: Add xmlnode_strip_prefixes
Paul Aurich <darkrain42@pidgin.im>
parents: 32321
diff changeset
338 * (prefixed attributes may still exist), and that this usage may
5c1dd6d9d57f xmlnode: Add xmlnode_strip_prefixes
Paul Aurich <darkrain42@pidgin.im>
parents: 32321
diff changeset
339 * break some applications (SOAP / XPath apparently often rely on
5c1dd6d9d57f xmlnode: Add xmlnode_strip_prefixes
Paul Aurich <darkrain42@pidgin.im>
parents: 32321
diff changeset
340 * the prefixes having the same name.
5c1dd6d9d57f xmlnode: Add xmlnode_strip_prefixes
Paul Aurich <darkrain42@pidgin.im>
parents: 32321
diff changeset
341 */
34935
686fa55b0deb Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents: 34863
diff changeset
342 void purple_xmlnode_strip_prefixes(PurpleXmlNode *node);
32322
5c1dd6d9d57f xmlnode: Add xmlnode_strip_prefixes
Paul Aurich <darkrain42@pidgin.im>
parents: 32321
diff changeset
343
5c1dd6d9d57f xmlnode: Add xmlnode_strip_prefixes
Paul Aurich <darkrain42@pidgin.im>
parents: 32321
diff changeset
344 /**
35403
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
345 * purple_xmlnode_get_parent:
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
346 * @child: The child node.
23750
57baab09bf45 Added xmlnode_get_parent.
Michael Ruprecht <maiku@pidgin.im>
parents: 21552
diff changeset
347 *
35403
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
348 * Gets the parent node.
23750
57baab09bf45 Added xmlnode_get_parent.
Michael Ruprecht <maiku@pidgin.im>
parents: 21552
diff changeset
349 *
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 34935
diff changeset
350 * Returns: The parent or NULL.
23750
57baab09bf45 Added xmlnode_get_parent.
Michael Ruprecht <maiku@pidgin.im>
parents: 21552
diff changeset
351 */
34935
686fa55b0deb Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents: 34863
diff changeset
352 PurpleXmlNode *purple_xmlnode_get_parent(const PurpleXmlNode *child);
23750
57baab09bf45 Added xmlnode_get_parent.
Michael Ruprecht <maiku@pidgin.im>
parents: 21552
diff changeset
353
57baab09bf45 Added xmlnode_get_parent.
Michael Ruprecht <maiku@pidgin.im>
parents: 21552
diff changeset
354 /**
35403
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
355 * purple_xmlnode_to_str:
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 34935
diff changeset
356 * @node: The starting node to output.
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 34935
diff changeset
357 * @len: Address for the size of the string.
10327
a2b44a6bff0e [gaim-migrate @ 11534]
Gary Kramlich <grim@pidgin.im>
parents: 9837
diff changeset
358 *
35403
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
359 * Returns the node in a string of xml.
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
360 *
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 34935
diff changeset
361 * Returns: The node represented as a string. You must
10415
faceb835eb87 [gaim-migrate @ 11665]
Mark Doliner <markdoliner@pidgin.im>
parents: 10337
diff changeset
362 * g_free this string when finished using it.
10327
a2b44a6bff0e [gaim-migrate @ 11534]
Gary Kramlich <grim@pidgin.im>
parents: 9837
diff changeset
363 */
34935
686fa55b0deb Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents: 34863
diff changeset
364 char *purple_xmlnode_to_str(const PurpleXmlNode *node, int *len);
10327
a2b44a6bff0e [gaim-migrate @ 11534]
Gary Kramlich <grim@pidgin.im>
parents: 9837
diff changeset
365
a2b44a6bff0e [gaim-migrate @ 11534]
Gary Kramlich <grim@pidgin.im>
parents: 9837
diff changeset
366 /**
35403
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
367 * purple_xmlnode_to_formatted_str:
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 34935
diff changeset
368 * @node: The starting node to output.
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 34935
diff changeset
369 * @len: Address for the size of the string.
10327
a2b44a6bff0e [gaim-migrate @ 11534]
Gary Kramlich <grim@pidgin.im>
parents: 9837
diff changeset
370 *
35403
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
371 * Returns the node in a string of human readable xml.
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
372 *
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 34935
diff changeset
373 * Returns: The node as human readable string including
10415
faceb835eb87 [gaim-migrate @ 11665]
Mark Doliner <markdoliner@pidgin.im>
parents: 10337
diff changeset
374 * tab and new line characters. You must
faceb835eb87 [gaim-migrate @ 11665]
Mark Doliner <markdoliner@pidgin.im>
parents: 10337
diff changeset
375 * g_free this string when finished using it.
10327
a2b44a6bff0e [gaim-migrate @ 11534]
Gary Kramlich <grim@pidgin.im>
parents: 9837
diff changeset
376 */
34935
686fa55b0deb Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents: 34863
diff changeset
377 char *purple_xmlnode_to_formatted_str(const PurpleXmlNode *node, int *len);
10327
a2b44a6bff0e [gaim-migrate @ 11534]
Gary Kramlich <grim@pidgin.im>
parents: 9837
diff changeset
378
a2b44a6bff0e [gaim-migrate @ 11534]
Gary Kramlich <grim@pidgin.im>
parents: 9837
diff changeset
379 /**
35403
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
380 * purple_xmlnode_from_str:
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
381 * @str: The string of xml.
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
382 * @size: The size of the string, or -1 if @str is
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
383 * NUL-terminated.
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
384 *
10337
778231f38df6 [gaim-migrate @ 11545]
Mark Doliner <markdoliner@pidgin.im>
parents: 10327
diff changeset
385 * Creates a node from a string of XML. Calling this on the
778231f38df6 [gaim-migrate @ 11545]
Mark Doliner <markdoliner@pidgin.im>
parents: 10327
diff changeset
386 * root node of an XML document will parse the entire document
34935
686fa55b0deb Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents: 34863
diff changeset
387 * into a tree of nodes, and return the PurpleXmlNode of the root.
10327
a2b44a6bff0e [gaim-migrate @ 11534]
Gary Kramlich <grim@pidgin.im>
parents: 9837
diff changeset
388 *
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 34935
diff changeset
389 * Returns: The new node.
10327
a2b44a6bff0e [gaim-migrate @ 11534]
Gary Kramlich <grim@pidgin.im>
parents: 9837
diff changeset
390 */
34935
686fa55b0deb Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents: 34863
diff changeset
391 PurpleXmlNode *purple_xmlnode_from_str(const char *str, gssize size);
10327
a2b44a6bff0e [gaim-migrate @ 11534]
Gary Kramlich <grim@pidgin.im>
parents: 9837
diff changeset
392
a2b44a6bff0e [gaim-migrate @ 11534]
Gary Kramlich <grim@pidgin.im>
parents: 9837
diff changeset
393 /**
35403
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
394 * purple_xmlnode_copy:
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
395 * @src: The node to copy.
10327
a2b44a6bff0e [gaim-migrate @ 11534]
Gary Kramlich <grim@pidgin.im>
parents: 9837
diff changeset
396 *
35403
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
397 * Creates a new node from the source node.
10327
a2b44a6bff0e [gaim-migrate @ 11534]
Gary Kramlich <grim@pidgin.im>
parents: 9837
diff changeset
398 *
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 34935
diff changeset
399 * Returns: A new copy of the src node.
10327
a2b44a6bff0e [gaim-migrate @ 11534]
Gary Kramlich <grim@pidgin.im>
parents: 9837
diff changeset
400 */
34935
686fa55b0deb Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents: 34863
diff changeset
401 PurpleXmlNode *purple_xmlnode_copy(const PurpleXmlNode *src);
7131
bde45b2e6bf3 [gaim-migrate @ 7698]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
402
10327
a2b44a6bff0e [gaim-migrate @ 11534]
Gary Kramlich <grim@pidgin.im>
parents: 9837
diff changeset
403 /**
35403
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
404 * purple_xmlnode_free:
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
405 * @node: The node to free.
10327
a2b44a6bff0e [gaim-migrate @ 11534]
Gary Kramlich <grim@pidgin.im>
parents: 9837
diff changeset
406 *
35403
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
407 * Frees a node and all of its children.
10327
a2b44a6bff0e [gaim-migrate @ 11534]
Gary Kramlich <grim@pidgin.im>
parents: 9837
diff changeset
408 */
34935
686fa55b0deb Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents: 34863
diff changeset
409 void purple_xmlnode_free(PurpleXmlNode *node);
7131
bde45b2e6bf3 [gaim-migrate @ 7698]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
410
23643
4a68ddefa857 added a more generic function to read xml files (and made the util version into a wrapper) so it can be used by the
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 21552
diff changeset
411 /**
35403
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
412 * purple_xmlnode_from_file:
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 34935
diff changeset
413 * @dir: The directory where the file is located
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 34935
diff changeset
414 * @filename: The filename
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 34935
diff changeset
415 * @description: A description of the file being parsed. Displayed to
33889
4efe5c21db45 Doc and code formatting (use spaces not tabs to align comments after code and
Mark Doliner <mark@kingant.net>
parents: 32787
diff changeset
416 * the user if the file cannot be read.
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 34935
diff changeset
417 * @process: The subsystem that is calling purple_xmlnode_from_file. Used as
33889
4efe5c21db45 Doc and code formatting (use spaces not tabs to align comments after code and
Mark Doliner <mark@kingant.net>
parents: 32787
diff changeset
418 * the category for debugging.
23643
4a68ddefa857 added a more generic function to read xml files (and made the util version into a wrapper) so it can be used by the
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 21552
diff changeset
419 *
35403
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
420 * Creates a node from a XML File. Calling this on the
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
421 * root node of an XML document will parse the entire document
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
422 * into a tree of nodes, and return the PurpleXmlNode of the root.
9282701d7aa9 Convert docs from doxygen to gtk-doc format for sound-theme-loader to xmlnode
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
423 *
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 34935
diff changeset
424 * Returns: The new node or NULL if an error occurred.
23643
4a68ddefa857 added a more generic function to read xml files (and made the util version into a wrapper) so it can be used by the
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 21552
diff changeset
425 */
34935
686fa55b0deb Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents: 34863
diff changeset
426 PurpleXmlNode *purple_xmlnode_from_file(const char *dir, const char *filename,
33889
4efe5c21db45 Doc and code formatting (use spaces not tabs to align comments after code and
Mark Doliner <mark@kingant.net>
parents: 32787
diff changeset
427 const char *description, const char *process);
23643
4a68ddefa857 added a more generic function to read xml files (and made the util version into a wrapper) so it can be used by the
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 21552
diff changeset
428
32787
7072f190d6ad Use G_BEGIN/END_DECLS in public libpurple files. This was
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32554
diff changeset
429 G_END_DECLS
14988
66b34458d49e [gaim-migrate @ 17698]
Richard Laager <rlaager@pidgin.im>
parents: 14498
diff changeset
430
39659
e4dfb99b0cef Fix libpurple header guards using reserved names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 37094
diff changeset
431 #endif /* PURPLE_XMLNODE_H */

mercurial