libpurple/mime.h

Thu, 20 Sep 2007 16:30:17 +0000

author
Sadrul Habib Chowdhury <sadrul@pidgin.im>
date
Thu, 20 Sep 2007 16:30:17 +0000
branch
sadrul.currentmedia
changeset 21193
e918a1846d03
parent 19859
71d37b57eff2
child 26726
b81bcec8f359
permissions
-rw-r--r--

Use an independant status type for 'current media' stuff, instead of using
status attributes. This includes changes in both xmpp and msn.
Also, in MSN, CurrentMedia is sent with PSM if you turn on the status and
set the attributes on the account.

10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
1 /*
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
2 * Purple
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
3 *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
4 * Purple is the legal property of its developers, whose names are too
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
5 * numerous to list here. Please refer to the COPYRIGHT file distributed
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
6 * with this source distribution
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
7 *
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
8 * This program is free software; you can redistribute it and/or modify
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
9 * it under the terms of the GNU General Public License as published by
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
10 * the Free Software Foundation; either version 2 of the License, or (at
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
11 * your option) any later version.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
12 *
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
13 * This program is distributed in the hope that it will be useful, but
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
14 * WITHOUT ANY WARRANTY; without even the implied warranty of
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
16 * General Public License for more details.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
17 *
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
18 * You should have received a copy of the GNU General Public License
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
19 * 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: 18190
diff changeset
20 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301,
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
21 * USA.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
22 */
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
23
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
24 #ifndef _PURPLE_MIME_H
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
25 #define _PURPLE_MIME_H
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
26
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
27 #include <glib.h>
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
28 #include <glib/glist.h>
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
29
14988
66b34458d49e [gaim-migrate @ 17698]
Richard Laager <rlaager@pidgin.im>
parents: 14254
diff changeset
30 #ifdef __cplusplus
66b34458d49e [gaim-migrate @ 17698]
Richard Laager <rlaager@pidgin.im>
parents: 14254
diff changeset
31 extern "C" {
66b34458d49e [gaim-migrate @ 17698]
Richard Laager <rlaager@pidgin.im>
parents: 14254
diff changeset
32 #endif
66b34458d49e [gaim-migrate @ 17698]
Richard Laager <rlaager@pidgin.im>
parents: 14254
diff changeset
33
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
34 /**
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
35 * @file mime.h
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
36 * @ingroup core
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
37 *
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
38 * Rudimentary parsing of multi-part MIME messages into more
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
39 * accessible structures.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
40 */
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
41
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
42 /**
16262
1d9b65303dfc Doxygen updates. This eliminated all the warnings from Doxygen.
Richard Laager <rlaager@pidgin.im>
parents: 15884
diff changeset
43 * A MIME document.
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
44 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
45 typedef struct _PurpleMimeDocument PurpleMimeDocument;
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
46
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
47 /**
16262
1d9b65303dfc Doxygen updates. This eliminated all the warnings from Doxygen.
Richard Laager <rlaager@pidgin.im>
parents: 15884
diff changeset
48 * A part of a multipart MIME document.
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
49 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
50 typedef struct _PurpleMimePart PurpleMimePart;
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
51
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
52 /**
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
53 * Allocate an empty MIME document.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
54 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
55 PurpleMimeDocument *purple_mime_document_new(void);
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
56
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
57 /**
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
58 * Frees memory used in a MIME document and all of its parts and fields
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
59 *
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
60 * @param doc The MIME document to free.
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
61 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
62 void purple_mime_document_free(PurpleMimeDocument *doc);
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
63
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
64 /**
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
65 * Parse a MIME document from a NUL-terminated string.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
66 *
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
67 * @param buf The NULL-terminated string containing the MIME-encoded data.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
68 *
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
69 * @returns A MIME document.
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
70 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
71 PurpleMimeDocument *purple_mime_document_parse(const char *buf);
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
72
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
73 /**
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
74 * Parse a MIME document from a string
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
75 *
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
76 * @param buf The string containing the MIME-encoded data.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
77 * @param len Length of buf.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
78 *
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
79 * @returns A MIME document.
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
80 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
81 PurpleMimeDocument *purple_mime_document_parsen(const char *buf, gsize len);
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
82
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
83 /**
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
84 * Write (append) a MIME document onto a GString.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
85 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
86 void purple_mime_document_write(PurpleMimeDocument *doc, GString *str);
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
87
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
88 /**
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
89 * The list of fields in the header of a document
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
90 *
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
91 * @param doc The MIME document.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
92 *
18190
bcf28ef7e8ff Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents: 16262
diff changeset
93 * @constreturn A list of strings indicating the fields (but not the values
bcf28ef7e8ff Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents: 16262
diff changeset
94 * of the fields) in the header of doc.
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
95 */
18190
bcf28ef7e8ff Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents: 16262
diff changeset
96 GList *purple_mime_document_get_fields(PurpleMimeDocument *doc);
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
97
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
98 /**
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
99 * Get the value of a specific field in the header of a document.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
100 *
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
101 * @param doc The MIME document.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
102 * @param field Case-insensitive field name.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
103 *
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
104 * @returns Value associated with the indicated header field, or
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
105 * NULL if the field doesn't exist.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
106 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
107 const char *purple_mime_document_get_field(PurpleMimeDocument *doc,
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
108 const char *field);
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
109
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
110 /**
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
111 * Set or replace the value of a specific field in the header of a
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
112 * document.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
113 *
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
114 * @param doc The MIME document.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
115 * @param field Case-insensitive field name.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
116 * @param value Value to associate with the indicated header field,
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
117 * of NULL to remove the field.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
118 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
119 void purple_mime_document_set_field(PurpleMimeDocument *doc,
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
120 const char *field,
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
121 const char *value);
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
122
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
123 /**
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
124 * The list of parts in a multipart document.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
125 *
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
126 * @param doc The MIME document.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
127 *
18190
bcf28ef7e8ff Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents: 16262
diff changeset
128 * @constreturn List of PurpleMimePart contained within doc.
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
129 */
18190
bcf28ef7e8ff Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents: 16262
diff changeset
130 GList *purple_mime_document_get_parts(PurpleMimeDocument *doc);
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
131
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
132 /**
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
133 * Create and insert a new part into a MIME document.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
134 *
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
135 * @param doc The new part's parent MIME document.
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
136 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
137 PurpleMimePart *purple_mime_part_new(PurpleMimeDocument *doc);
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
138
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
139
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
140 /**
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
141 * The list of fields in the header of a document part.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
142 *
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
143 * @param part The MIME document part.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
144 *
18190
bcf28ef7e8ff Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents: 16262
diff changeset
145 * @constreturn List of strings indicating the fields (but not the values
bcf28ef7e8ff Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents: 16262
diff changeset
146 * of the fields) in the header of part.
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
147 */
18190
bcf28ef7e8ff Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents: 16262
diff changeset
148 GList *purple_mime_part_get_fields(PurpleMimePart *part);
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
149
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
150
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
151 /**
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
152 * Get the value of a specific field in the header of a document part.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
153 *
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
154 * @param part The MIME document part.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
155 * @param field Case-insensitive name of the header field.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
156 *
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
157 * @returns Value of the specified header field, or NULL if the
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
158 * field doesn't exist.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
159 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
160 const char *purple_mime_part_get_field(PurpleMimePart *part,
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
161 const char *field);
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
162
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
163 /**
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
164 * Get the decoded value of a specific field in the header of a
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
165 * document part.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
166 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
167 char *purple_mime_part_get_field_decoded(PurpleMimePart *part,
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
168 const char *field);
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
169
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
170 /**
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
171 * Set or replace the value of a specific field in the header of a
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
172 * document.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
173 *
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
174 * @param part The part of the MIME document.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
175 * @param field Case-insensitive field name
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
176 * @param value Value to associate with the indicated header field,
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
177 * of NULL to remove the field.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
178 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
179 void purple_mime_part_set_field(PurpleMimePart *part,
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
180 const char *field,
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
181 const char *value);
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
182
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
183 /**
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
184 * Get the (possibly encoded) data portion of a MIME document part.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
185 *
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
186 * @param part The MIME document part.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
187 *
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
188 * @returns NULL-terminated data found in the document part
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
189 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
190 const char *purple_mime_part_get_data(PurpleMimePart *part);
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
191
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
192 /**
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
193 * Get the data portion of a MIME document part, after attempting to
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
194 * decode it according to the content-transfer-encoding field. If the
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
195 * specified encoding method is not supported, this function will
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
196 * return NULL.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
197 *
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
198 * @param part The MIME documemt part.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
199 * @param data Buffer for the data.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
200 * @param len The length of the buffer.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
201 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
202 void purple_mime_part_get_data_decoded(PurpleMimePart *part,
11183
be87fe695c93 [gaim-migrate @ 13295]
Mark Doliner <markdoliner@pidgin.im>
parents: 11132
diff changeset
203 guchar **data, gsize *len);
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
204
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
205 /**
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
206 * Get the length of the data portion of a MIME document part.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
207 *
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
208 * @param part The MIME document part.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
209 * @returns Length of the data in the document part.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
210 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
211 gsize purple_mime_part_get_length(PurpleMimePart *part);
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
212
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
213 void purple_mime_part_set_data(PurpleMimePart *part, const char *data);
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
214
14988
66b34458d49e [gaim-migrate @ 17698]
Richard Laager <rlaager@pidgin.im>
parents: 14254
diff changeset
215 #ifdef __cplusplus
66b34458d49e [gaim-migrate @ 17698]
Richard Laager <rlaager@pidgin.im>
parents: 14254
diff changeset
216 }
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
217 #endif
14988
66b34458d49e [gaim-migrate @ 17698]
Richard Laager <rlaager@pidgin.im>
parents: 14254
diff changeset
218
66b34458d49e [gaim-migrate @ 17698]
Richard Laager <rlaager@pidgin.im>
parents: 14254
diff changeset
219 #endif

mercurial