aboutsummaryrefslogtreecommitdiffstats
path: root/camel/camel-simple-data-wrapper.c
diff options
context:
space:
mode:
Diffstat (limited to 'camel/camel-simple-data-wrapper.c')
-rw-r--r--camel/camel-simple-data-wrapper.c86
1 files changed, 42 insertions, 44 deletions
diff --git a/camel/camel-simple-data-wrapper.c b/camel/camel-simple-data-wrapper.c
index f4b7afd5f9..a1822e8bcf 100644
--- a/camel/camel-simple-data-wrapper.c
+++ b/camel/camel-simple-data-wrapper.c
@@ -35,13 +35,12 @@ static CamelDataWrapperClass *parent_class=NULL;
/* Returns the class for a CamelDataWrapper */
#define CSDW_CLASS(so) CAMEL_SIMPLE_DATA_WRAPPER_CLASS (GTK_OBJECT(so)->klass)
-static void _construct_from_stream (CamelDataWrapper *data_wrapper,
- CamelStream *stream);
-static void _write_to_stream (CamelDataWrapper *data_wrapper,
- CamelStream *stream);
-static void _finalize (GtkObject *object);
-static CamelStream * _get_stream (CamelDataWrapper *data_wrapper);
-static CamelStream * _get_output_stream (CamelDataWrapper *data_wrapper);
+static void my_construct_from_stream (CamelDataWrapper *data_wrapper,
+ CamelStream *stream);
+static void my_write_to_stream (CamelDataWrapper *data_wrapper,
+ CamelStream *stream);
+static void my_finalize (GtkObject *object);
+static CamelStream * my_get_output_stream (CamelDataWrapper *data_wrapper);
@@ -55,22 +54,22 @@ camel_simple_data_wrapper_class_init (CamelSimpleDataWrapperClass *camel_simple_
/* virtual method definition */
/* virtual method overload */
- camel_data_wrapper_class->write_to_stream = _write_to_stream;
- camel_data_wrapper_class->construct_from_stream = _construct_from_stream;
- camel_data_wrapper_class->get_output_stream = _get_output_stream;
+ camel_data_wrapper_class->write_to_stream = my_write_to_stream;
+ camel_data_wrapper_class->construct_from_stream = my_construct_from_stream;
+ camel_data_wrapper_class->get_output_stream = my_get_output_stream;
- camel_data_wrapper_class->get_stream = _get_stream;
-
- gtk_object_class->finalize = _finalize;
+ gtk_object_class->finalize = my_finalize;
}
static void
camel_simple_data_wrapper_init (CamelSimpleDataWrapper *wrapper)
{
- wrapper->stream = NULL;
+ wrapper->byte_array = NULL;
+ wrapper->has_byte_array_stream = FALSE;
}
+
GtkType
camel_simple_data_wrapper_get_type (void)
{
@@ -89,7 +88,8 @@ camel_simple_data_wrapper_get_type (void)
(GtkClassInitFunc) NULL,
};
- camel_simple_data_wrapper_type = gtk_type_unique (camel_data_wrapper_get_type (), &camel_simple_data_wrapper_info);
+ camel_simple_data_wrapper_type = gtk_type_unique (camel_data_wrapper_get_type (),
+ &camel_simple_data_wrapper_info);
}
return camel_simple_data_wrapper_type;
@@ -97,7 +97,7 @@ camel_simple_data_wrapper_get_type (void)
static void
-_finalize (GtkObject *object)
+my_finalize (GtkObject *object)
{
CamelSimpleDataWrapper *simple_data_wrapper = CAMEL_SIMPLE_DATA_WRAPPER (object);
@@ -130,11 +130,11 @@ camel_simple_data_wrapper_new (void)
static void
-_write_to_stream (CamelDataWrapper *data_wrapper, CamelStream *stream)
+my_write_to_stream (CamelDataWrapper *data_wrapper, CamelStream *stream)
{
CamelSimpleDataWrapper *simple_data_wrapper = CAMEL_SIMPLE_DATA_WRAPPER (data_wrapper);
GByteArray *array;
- CAMEL_LOG_FULL_DEBUG ("CamelSimpleDataWrapper:: Entering _write_to_stream\n");
+ CAMEL_LOG_FULL_DEBUG ("CamelSimpleDataWrapper:: Entering my_write_to_stream\n");
g_assert (data_wrapper);
g_assert (stream);
@@ -143,28 +143,28 @@ _write_to_stream (CamelDataWrapper *data_wrapper, CamelStream *stream)
if (array->len)
camel_stream_write (stream, (gchar *)array->data, array->len);
- CAMEL_LOG_FULL_DEBUG ("CamelSimpleDataWrapper:: Leaving _write_to_stream\n");
+ CAMEL_LOG_FULL_DEBUG ("CamelSimpleDataWrapper:: Leaving my_write_to_stream\n");
}
-#define _CMSDW_TMP_BUF_SIZE 100
+#define my_CMSDW_TMP_BUF_SIZE 100
static void
-_construct_from_stream (CamelDataWrapper *data_wrapper, CamelStream *stream)
+my_construct_from_stream (CamelDataWrapper *data_wrapper, CamelStream *stream)
{
CamelSimpleDataWrapper *simple_data_wrapper = CAMEL_SIMPLE_DATA_WRAPPER (data_wrapper);
gint nb_bytes_read;
static gchar *tmp_buf;
GByteArray *array;
- CAMEL_LOG_FULL_DEBUG ("CamelSimpleDataWrapper:: Entering _construct_from_stream\n");
+ CAMEL_LOG_FULL_DEBUG ("CamelSimpleDataWrapper:: Entering my_construct_from_stream\n");
g_assert (data_wrapper);
g_assert (stream);
if (!tmp_buf) {
CAMEL_LOG_FULL_DEBUG ("CamelSimpleDataWrapper::construct_from_stream allocating new temp buffer "
- "with %d bytes\n", _CMSDW_TMP_BUF_SIZE);
- tmp_buf = g_new (gchar, _CMSDW_TMP_BUF_SIZE);
+ "with %d bytes\n", my_CMSDW_TMP_BUF_SIZE);
+ tmp_buf = g_new (gchar, my_CMSDW_TMP_BUF_SIZE);
}
array = simple_data_wrapper->byte_array;
@@ -176,14 +176,14 @@ _construct_from_stream (CamelDataWrapper *data_wrapper, CamelStream *stream)
array = g_byte_array_new ();
CAMEL_LOG_FULL_DEBUG ("CamelSimpleDataWrapper::construct_from_stream new byte array address:%p\n", array);
simple_data_wrapper->byte_array = array;
- nb_bytes_read = camel_stream_read (stream, tmp_buf, _CMSDW_TMP_BUF_SIZE);
+ nb_bytes_read = camel_stream_read (stream, tmp_buf, my_CMSDW_TMP_BUF_SIZE);
while (nb_bytes_read>0) {
CAMEL_LOG_FULL_DEBUG ("CamelSimpleDataWrapper::construct_from_stream read %d bytes from stream\n", nb_bytes_read);
if (nb_bytes_read>0) g_byte_array_append (array, tmp_buf, nb_bytes_read);
- nb_bytes_read = camel_stream_read (stream, tmp_buf, _CMSDW_TMP_BUF_SIZE);
+ nb_bytes_read = camel_stream_read (stream, tmp_buf, my_CMSDW_TMP_BUF_SIZE);
};
- CAMEL_LOG_FULL_DEBUG ("CamelSimpleDataWrapper:: Leaving _construct_from_stream\n");
+ CAMEL_LOG_FULL_DEBUG ("CamelSimpleDataWrapper:: Leaving my_construct_from_stream\n");
}
@@ -219,29 +219,27 @@ camel_simple_data_wrapper_set_text (CamelSimpleDataWrapper *simple_data_wrapper,
+
+
static CamelStream *
-_get_stream (CamelDataWrapper *data_wrapper)
+my_get_output_stream (CamelDataWrapper *data_wrapper)
{
CamelSimpleDataWrapper *simple_data_wrapper;
+ CamelStream *output_stream = NULL;
- simple_data_wrapper = CAMEL_SIMPLE_DATA_WRAPPER (data_wrapper);
- if (simple_data_wrapper->stream == NULL) {
- CamelStream *s;
-
- s = camel_simple_data_wrapper_stream_new (simple_data_wrapper);
- simple_data_wrapper->stream = s;
- }
-
- return simple_data_wrapper->stream;
-}
+ CAMEL_LOG_FULL_DEBUG ("CamelSimpleDataWrapper::get_output_stream leaving\n");
-static CamelStream *
-_get_output_stream (CamelDataWrapper *data_wrapper)
-{
+ g_assert (data_wrapper);
+ simple_data_wrapper = CAMEL_SIMPLE_DATA_WRAPPER (data_wrapper);
- CAMEL_LOG_FULL_DEBUG ("CamelSimpleDataWrapper::get_output_stream leaving\n");
- return camel_data_wrapper_get_input_stream (data_wrapper);
- CAMEL_LOG_FULL_DEBUG ("CamelSimpleDataWrapper::get_output_stream leaving\n");
+ if (simple_data_wrapper->byte_array && !(simple_data_wrapper->has_byte_array_stream)) {
+ output_stream = camel_simple_data_wrapper_stream_new (simple_data_wrapper);
+ camel_data_wrapper_set_output_stream (data_wrapper, output_stream);
+ }
+ CAMEL_LOG_FULL_DEBUG ("CamelSimpleDataWrapper::get_output_stream leaving\n");
+
+ return parent_class->get_output_stream (data_wrapper);
+
}