Wed, 13 Jun 2012 19:30:40 -0400
Migrate .mtn-ignore to .hgignore
| 10978 | 1 | /* |
|
14100
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
2 | * Gaim |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
3 | * |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
4 | * Gaim is the legal property of its developers, whose names are too |
|
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 |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
20 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
|
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 | 23 | |
| 24 | #ifndef _GAIM_MIME_H | |
| 25 | #define _GAIM_MIME_H | |
| 26 | ||
| 27 | #include <glib.h> | |
| 28 | #include <glib/glist.h> | |
| 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 | 41 | |
| 42 | /** | |
|
14100
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
43 | * @typedef GaimMimeDocument A MIME document. |
| 10978 | 44 | */ |
| 45 | typedef struct _GaimMimeDocument GaimMimeDocument; | |
| 46 | ||
|
14100
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
47 | /** |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
48 | * @typedef GaimMimePart A part of a multipart MIME document. |
| 10978 | 49 | */ |
| 50 | typedef struct _GaimMimePart GaimMimePart; | |
| 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 | */ |
|
12323
f52908fb23b0
[gaim-migrate @ 14627]
Richard Laager <rlaager@pidgin.im>
parents:
11183
diff
changeset
|
55 | GaimMimeDocument *gaim_mime_document_new(void); |
| 10978 | 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 | 61 | */ |
| 62 | void gaim_mime_document_free(GaimMimeDocument *doc); | |
| 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 | 70 | */ |
| 71 | GaimMimeDocument *gaim_mime_document_parse(const char *buf); | |
| 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 | 80 | */ |
| 81 | GaimMimeDocument *gaim_mime_document_parsen(const char *buf, gsize len); | |
| 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 | */ |
| 10978 | 86 | void gaim_mime_document_write(GaimMimeDocument *doc, GString *str); |
| 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 | * |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
93 | * @returns A list of strings indicating the fields (but not the values of |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
94 | * the fields) in the header of doc. |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
95 | */ |
| 10978 | 96 | const GList *gaim_mime_document_get_fields(GaimMimeDocument *doc); |
| 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 | */ |
| 10978 | 107 | const char *gaim_mime_document_get_field(GaimMimeDocument *doc, |
| 108 | const char *field); | |
| 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 | */ |
| 10978 | 119 | void gaim_mime_document_set_field(GaimMimeDocument *doc, |
| 120 | const char *field, | |
| 121 | const char *value); | |
| 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 | * |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
128 | * @returns List of GaimMimePart contained within doc. |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
129 | */ |
| 10978 | 130 | const GList *gaim_mime_document_get_parts(GaimMimeDocument *doc); |
| 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 | 136 | */ |
| 137 | GaimMimePart *gaim_mime_part_new(GaimMimeDocument *doc); | |
| 138 | ||
| 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 | * |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
145 | * @returns List of strings indicating the fields (but not the values |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
146 | * of the fields) in the header of part. |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
147 | */ |
| 10978 | 148 | const GList *gaim_mime_part_get_fields(GaimMimePart *part); |
| 149 | ||
| 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 | */ |
| 10978 | 160 | const char *gaim_mime_part_get_field(GaimMimePart *part, |
| 161 | const char *field); | |
| 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 | */ |
| 10978 | 167 | char *gaim_mime_part_get_field_decoded(GaimMimePart *part, |
| 168 | const char *field); | |
| 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 | */ |
| 10978 | 179 | void gaim_mime_part_set_field(GaimMimePart *part, |
| 180 | const char *field, | |
| 181 | const char *value); | |
| 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 | 189 | */ |
| 190 | const char *gaim_mime_part_get_data(GaimMimePart *part); | |
| 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 | */ |
| 10978 | 202 | void gaim_mime_part_get_data_decoded(GaimMimePart *part, |
|
11183
be87fe695c93
[gaim-migrate @ 13295]
Mark Doliner <markdoliner@pidgin.im>
parents:
11132
diff
changeset
|
203 | guchar **data, gsize *len); |
| 10978 | 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 | */ |
| 10978 | 211 | gsize gaim_mime_part_get_length(GaimMimePart *part); |
| 212 | ||
| 213 | void gaim_mime_part_set_data(GaimMimePart *part, const char *data); | |
| 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 | 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 |