static void g_mime_multipart_class_init (GMimeMultipartClass *klass) { GMimeObjectClass *object_class = GMIME_OBJECT_CLASS (klass); GObjectClass *gobject_class = G_OBJECT_CLASS (klass); parent_class = g_type_class_ref (GMIME_TYPE_OBJECT); gobject_class->finalize = g_mime_multipart_finalize; object_class->write_to_stream = multipart_write_to_stream; object_class->encode = multipart_encode; klass->add = multipart_add; klass->clear = multipart_clear; klass->insert = multipart_insert; klass->remove = multipart_remove; klass->remove_at = multipart_remove_at; klass->get_part = multipart_get_part; klass->contains = multipart_contains; klass->index_of = multipart_index_of; klass->get_count = multipart_get_count; klass->set_boundary = multipart_set_boundary; klass->get_boundary = multipart_get_boundary; }
static gboolean mime_part_remove_header (GMimeObject *object, const char *header) { GMimePart *mime_part = (GMimePart *) object; guint i; if (!g_ascii_strncasecmp (header, "Content-", 8)) { for (i = 0; i < G_N_ELEMENTS (content_headers); i++) { if (!g_ascii_strcasecmp (content_headers[i] + 8, header + 8)) break; } switch (i) { case HEADER_CONTENT_TRANSFER_ENCODING: mime_part->encoding = GMIME_CONTENT_ENCODING_DEFAULT; break; case HEADER_CONTENT_DESCRIPTION: g_free (mime_part->content_description); mime_part->content_description = NULL; break; case HEADER_CONTENT_LOCATION: g_free (mime_part->content_location); mime_part->content_location = NULL; break; case HEADER_CONTENT_MD5: g_free (mime_part->content_md5); mime_part->content_md5 = NULL; break; default: break; } } return GMIME_OBJECT_CLASS (parent_class)->remove_header (object, header); }
static void mime_part_set_header (GMimeObject *object, const char *header, const char *value) { if (!process_header (object, header, value)) GMIME_OBJECT_CLASS (parent_class)->set_header (object, header, value); else g_mime_header_list_set (object->headers, header, value); }
static void g_mime_message_part_class_init (GMimeMessagePartClass *klass) { GMimeObjectClass *object_class = GMIME_OBJECT_CLASS (klass); GObjectClass *gobject_class = G_OBJECT_CLASS (klass); parent_class = g_type_class_ref (GMIME_TYPE_OBJECT); gobject_class->finalize = g_mime_message_part_finalize; object_class->write_to_stream = message_part_write_to_stream; }
static void g_mime_part_class_init (GMimePartClass *klass) { GMimeObjectClass *object_class = GMIME_OBJECT_CLASS (klass); GObjectClass *gobject_class = G_OBJECT_CLASS (klass); parent_class = g_type_class_ref (GMIME_TYPE_OBJECT); gobject_class->finalize = g_mime_part_finalize; object_class->prepend_header = mime_part_prepend_header; object_class->append_header = mime_part_append_header; object_class->remove_header = mime_part_remove_header; object_class->set_header = mime_part_set_header; object_class->write_to_stream = mime_part_write_to_stream; object_class->encode = mime_part_encode; klass->set_content_object = set_content_object; }