Пример #1
0
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;
}
Пример #2
0
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);
}
Пример #3
0
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);
}
Пример #4
0
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;
}
Пример #5
0
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;
}