Sat, 19 Aug 2006 01:50:10 +0000
[gaim-migrate @ 16863]
Renamed 'core' to 'libgaim'
| 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 | ||
|
14100
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
30 | /** |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
31 | * @file mime.h |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
32 | * @ingroup core |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
33 | * |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
34 | * Rudimentary parsing of multi-part MIME messages into more |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
35 | * accessible structures. |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
36 | */ |
| 10978 | 37 | |
| 38 | /** | |
|
14100
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
39 | * @typedef GaimMimeDocument A MIME document. |
| 10978 | 40 | */ |
| 41 | typedef struct _GaimMimeDocument GaimMimeDocument; | |
| 42 | ||
|
14100
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
43 | /** |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
44 | * @typedef GaimMimePart A part of a multipart MIME document. |
| 10978 | 45 | */ |
| 46 | typedef struct _GaimMimePart GaimMimePart; | |
| 47 | ||
|
14100
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
48 | /** |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
49 | * Allocate an empty MIME document. |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
50 | */ |
|
12323
f52908fb23b0
[gaim-migrate @ 14627]
Richard Laager <rlaager@pidgin.im>
parents:
11183
diff
changeset
|
51 | GaimMimeDocument *gaim_mime_document_new(void); |
| 10978 | 52 | |
|
14100
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
53 | /** |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
54 | * 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
|
55 | * |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
56 | * @param doc The MIME document to free. |
| 10978 | 57 | */ |
| 58 | void gaim_mime_document_free(GaimMimeDocument *doc); | |
| 59 | ||
|
14100
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
60 | /** |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
61 | * Parse a MIME document from a NUL-terminated string. |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
62 | * |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
63 | * @param buf The NULL-terminated string containing the MIME-encoded data. |
|
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 | * @returns A MIME document. |
| 10978 | 66 | */ |
| 67 | GaimMimeDocument *gaim_mime_document_parse(const char *buf); | |
| 68 | ||
|
14100
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
69 | /** |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
70 | * Parse a MIME document from a string |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
71 | * |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
72 | * @param buf The string containing the MIME-encoded data. |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
73 | * @param len Length of buf. |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
74 | * |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
75 | * @returns A MIME document. |
| 10978 | 76 | */ |
| 77 | GaimMimeDocument *gaim_mime_document_parsen(const char *buf, gsize len); | |
| 78 | ||
|
14100
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
79 | /** |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
80 | * Write (append) a MIME document onto a GString. |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
81 | */ |
| 10978 | 82 | void gaim_mime_document_write(GaimMimeDocument *doc, GString *str); |
| 83 | ||
|
14100
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
84 | /** |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
85 | * The list of fields in the header of a document |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
86 | * |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
87 | * @param doc The MIME document. |
|
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 | * @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
|
90 | * the fields) in the header of doc. |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
91 | */ |
| 10978 | 92 | const GList *gaim_mime_document_get_fields(GaimMimeDocument *doc); |
| 93 | ||
|
14100
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
94 | /** |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
95 | * 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
|
96 | * |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
97 | * @param doc The MIME document. |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
98 | * @param field Case-insensitive field name. |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
99 | * |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
100 | * @returns Value associated with the indicated header field, or |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
101 | * NULL if the field doesn't exist. |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
102 | */ |
| 10978 | 103 | const char *gaim_mime_document_get_field(GaimMimeDocument *doc, |
| 104 | const char *field); | |
| 105 | ||
|
14100
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
106 | /** |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
107 | * 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
|
108 | * document. |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
109 | * |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
110 | * @param doc The MIME document. |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
111 | * @param field Case-insensitive field name. |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
112 | * @param value Value to associate with the indicated header field, |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
113 | * of NULL to remove the field. |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
114 | */ |
| 10978 | 115 | void gaim_mime_document_set_field(GaimMimeDocument *doc, |
| 116 | const char *field, | |
| 117 | const char *value); | |
| 118 | ||
|
14100
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
119 | /** |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
120 | * The list of parts in a multipart document. |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
121 | * |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
122 | * @param doc The MIME document. |
|
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 | * @returns List of GaimMimePart contained within doc. |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
125 | */ |
| 10978 | 126 | const GList *gaim_mime_document_get_parts(GaimMimeDocument *doc); |
| 127 | ||
|
14100
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
128 | /** |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
129 | * Create and insert a new part into a MIME document. |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
130 | * |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
131 | * @param doc The new part's parent MIME document. |
| 10978 | 132 | */ |
| 133 | GaimMimePart *gaim_mime_part_new(GaimMimeDocument *doc); | |
| 134 | ||
| 135 | ||
|
14100
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
136 | /** |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
137 | * The list of fields in the header of a document part. |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
138 | * |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
139 | * @param part The MIME document part. |
|
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 | * @returns List of strings indicating the fields (but not the values |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
142 | * of the fields) in the header of part. |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
143 | */ |
| 10978 | 144 | const GList *gaim_mime_part_get_fields(GaimMimePart *part); |
| 145 | ||
| 146 | ||
|
14100
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
147 | /** |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
148 | * 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
|
149 | * |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
150 | * @param part The MIME document part. |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
151 | * @param field Case-insensitive name of the header field. |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
152 | * |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
153 | * @returns Value of the specified header field, or NULL if the |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
154 | * field doesn't exist. |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
155 | */ |
| 10978 | 156 | const char *gaim_mime_part_get_field(GaimMimePart *part, |
| 157 | const char *field); | |
| 158 | ||
|
14100
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
159 | /** |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
160 | * 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
|
161 | * document part. |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
162 | */ |
| 10978 | 163 | char *gaim_mime_part_get_field_decoded(GaimMimePart *part, |
| 164 | const char *field); | |
| 165 | ||
|
14100
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
166 | /** |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
167 | * 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
|
168 | * document. |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
169 | * |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
170 | * @param part The part of the MIME document. |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
171 | * @param field Case-insensitive field name |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
172 | * @param value Value to associate with the indicated header field, |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
173 | * of NULL to remove the field. |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
174 | */ |
| 10978 | 175 | void gaim_mime_part_set_field(GaimMimePart *part, |
| 176 | const char *field, | |
| 177 | const char *value); | |
| 178 | ||
|
14100
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
179 | /** |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
180 | * Get the (possibly encoded) data portion of a MIME document part. |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
181 | * |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
182 | * @param part The MIME document part. |
|
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 | * @returns NULL-terminated data found in the document part |
| 10978 | 185 | */ |
| 186 | const char *gaim_mime_part_get_data(GaimMimePart *part); | |
| 187 | ||
|
14100
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
188 | /** |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
189 | * 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
|
190 | * decode it according to the content-transfer-encoding field. If the |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
191 | * specified encoding method is not supported, this function will |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
192 | * return NULL. |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
193 | * |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
194 | * @param part The MIME documemt part. |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
195 | * @param data Buffer for the data. |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
196 | * @param len The length of the buffer. |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
197 | */ |
| 10978 | 198 | void gaim_mime_part_get_data_decoded(GaimMimePart *part, |
|
11183
be87fe695c93
[gaim-migrate @ 13295]
Mark Doliner <markdoliner@pidgin.im>
parents:
11132
diff
changeset
|
199 | guchar **data, gsize *len); |
| 10978 | 200 | |
|
14100
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
201 | /** |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
202 | * 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
|
203 | * |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
204 | * @param part The MIME document part. |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
205 | * @returns Length of the data in the document part. |
|
cca65c2c0679
[gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
206 | */ |
| 10978 | 207 | gsize gaim_mime_part_get_length(GaimMimePart *part); |
| 208 | ||
| 209 | void gaim_mime_part_set_data(GaimMimePart *part, const char *data); | |
| 210 | ||
| 211 | #endif |