pidgin  2.14.10
mime.h
Go to the documentation of this file.
1 /*
2  * Purple
3  *
4  * Purple is the legal property of its developers, whose names are too
5  * numerous to list here. Please refer to the COPYRIGHT file distributed
6  * with this source distribution
7  *
8  * This program is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License as published by
10  * the Free Software Foundation; either version 2 of the License, or (at
11  * your option) any later version.
12  *
13  * This program is distributed in the hope that it will be useful, but
14  * WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16  * General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License
19  * along with this program; if not, write to the Free Software
20  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301,
21  * USA.
22  */
23 
24 #ifndef _PURPLE_MIME_H
25 #define _PURPLE_MIME_H
26 
27 #include <glib.h>
28 
29 #ifdef __cplusplus
30 extern "C" {
31 #endif
32 
44 typedef struct _PurpleMimeDocument PurpleMimeDocument;
45 
49 typedef struct _PurpleMimePart PurpleMimePart;
50 
55 
62 
71 
80 PurpleMimeDocument *purple_mime_document_parsen(const char *buf, gsize len);
81 
86 
96 
107  const char *field);
108 
119  const char *field,
120  const char *value);
121 
130 
137 
138 
148 
149 
160  const char *field);
161 
167  const char *field);
168 
179  const char *field,
180  const char *value);
181 
190 
202  guchar **data, gsize *len);
203 
211 
212 void purple_mime_part_set_data(PurpleMimePart *part, const char *data);
213 
214 #ifdef __cplusplus
215 }
216 #endif
217 
218 #endif
PurpleMimeDocument * purple_mime_document_new(void)
Allocate an empty MIME document.
GList * purple_mime_document_get_parts(PurpleMimeDocument *doc)
The list of parts in a multipart document.
GList * purple_mime_document_get_fields(PurpleMimeDocument *doc)
The list of fields in the header of a document.
void purple_mime_part_set_field(PurpleMimePart *part, const char *field, const char *value)
Set or replace the value of a specific field in the header of a document.
PurpleMimeDocument * purple_mime_document_parsen(const char *buf, gsize len)
Parse a MIME document from a string.
gsize purple_mime_part_get_length(PurpleMimePart *part)
Get the length of the data portion of a MIME document part.
PurpleMimePart * purple_mime_part_new(PurpleMimeDocument *doc)
Create and insert a new part into a MIME document.
void purple_mime_document_free(PurpleMimeDocument *doc)
Frees memory used in a MIME document and all of its parts and fields.
const char * purple_mime_part_get_field(PurpleMimePart *part, const char *field)
Get the value of a specific field in the header of a document part.
void purple_mime_document_set_field(PurpleMimeDocument *doc, const char *field, const char *value)
Set or replace the value of a specific field in the header of a document.
GList * purple_mime_part_get_fields(PurpleMimePart *part)
The list of fields in the header of a document part.
struct _PurpleMimeDocument PurpleMimeDocument
A MIME document.
Definition: mime.h:44
PurpleMimeDocument * purple_mime_document_parse(const char *buf)
Parse a MIME document from a NUL-terminated string.
void purple_mime_part_get_data_decoded(PurpleMimePart *part, guchar **data, gsize *len)
Get the data portion of a MIME document part, after attempting to decode it according to the content-...
void purple_mime_document_write(PurpleMimeDocument *doc, GString *str)
Write (append) a MIME document onto a GString.
struct _PurpleMimePart PurpleMimePart
A part of a multipart MIME document.
Definition: mime.h:49
const char * purple_mime_part_get_data(PurpleMimePart *part)
Get the (possibly encoded) data portion of a MIME document part.
char * purple_mime_part_get_field_decoded(PurpleMimePart *part, const char *field)
Get the decoded value of a specific field in the header of a document part.
const char * purple_mime_document_get_field(PurpleMimeDocument *doc, const char *field)
Get the value of a specific field in the header of a document.