aboutsummaryrefslogtreecommitdiffstats
path: root/camel/camel-stream-filter.c
diff options
context:
space:
mode:
authorPeter Williams <peterw@src.gnome.org>2000-08-11 01:30:50 +0800
committerPeter Williams <peterw@src.gnome.org>2000-08-11 01:30:50 +0800
commit8cb514d6dd9497893a35a089d07a132d51263ee7 (patch)
tree9f4e5d1f929da7e0be900919753d419fe4c9c61a /camel/camel-stream-filter.c
parentbcbb63c59f80eb4e684036c5ef58ab141fb01b03 (diff)
downloadgsoc2013-evolution-8cb514d6dd9497893a35a089d07a132d51263ee7.tar
gsoc2013-evolution-8cb514d6dd9497893a35a089d07a132d51263ee7.tar.gz
gsoc2013-evolution-8cb514d6dd9497893a35a089d07a132d51263ee7.tar.bz2
gsoc2013-evolution-8cb514d6dd9497893a35a089d07a132d51263ee7.tar.lz
gsoc2013-evolution-8cb514d6dd9497893a35a089d07a132d51263ee7.tar.xz
gsoc2013-evolution-8cb514d6dd9497893a35a089d07a132d51263ee7.tar.zst
gsoc2013-evolution-8cb514d6dd9497893a35a089d07a132d51263ee7.zip
Merge with camel-async.
svn path=/trunk/; revision=4687
Diffstat (limited to 'camel/camel-stream-filter.c')
-rw-r--r--camel/camel-stream-filter.c101
1 files changed, 43 insertions, 58 deletions
diff --git a/camel/camel-stream-filter.c b/camel/camel-stream-filter.c
index 9051bdb64f..7d66928bf5 100644
--- a/camel/camel-stream-filter.c
+++ b/camel/camel-stream-filter.c
@@ -57,36 +57,35 @@ static int do_reset (CamelStream *stream);
static CamelStreamClass *camel_stream_filter_parent;
-enum SIGNALS {
- LAST_SIGNAL
-};
+static void
+camel_stream_filter_class_init (CamelStreamFilterClass *klass)
+{
+ CamelStreamClass *camel_stream_class = (CamelStreamClass *) klass;
-static guint signals[LAST_SIGNAL] = { 0 };
+ camel_stream_filter_parent = CAMEL_STREAM_CLASS (camel_type_get_global_classfuncs (camel_stream_get_type ()));
-guint
-camel_stream_filter_get_type (void)
+ camel_stream_class->read = do_read;
+ camel_stream_class->write = do_write;
+ camel_stream_class->flush = do_flush;
+ camel_stream_class->close = do_close;
+ camel_stream_class->eos = do_eos;
+ camel_stream_class->reset = do_reset;
+
+}
+
+static void
+camel_stream_filter_init (CamelStreamFilter *obj)
{
- static guint type = 0;
-
- if (!type) {
- GtkTypeInfo type_info = {
- "CamelStreamFilter",
- sizeof (CamelStreamFilter),
- sizeof (CamelStreamFilterClass),
- (GtkClassInitFunc) camel_stream_filter_class_init,
- (GtkObjectInitFunc) camel_stream_filter_init,
- (GtkArgSetFunc) NULL,
- (GtkArgGetFunc) NULL
- };
-
- type = gtk_type_unique (camel_stream_get_type (), &type_info);
- }
+ struct _CamelStreamFilterPrivate *p;
- return type;
+ _PRIVATE(obj) = p = g_malloc0(sizeof(*p));
+ p->realbuffer = g_malloc(READ_SIZE + READ_PAD);
+ p->buffer = p->realbuffer + READ_PAD;
+ p->last_was_read = TRUE;
}
static void
-finalise(GtkObject *o)
+camel_stream_filter_finalize(CamelObject *o)
{
CamelStreamFilter *filter = (CamelStreamFilter *)o;
struct _CamelStreamFilterPrivate *p = _PRIVATE(filter);
@@ -95,49 +94,35 @@ finalise(GtkObject *o)
f = p->filters;
while (f) {
fn = f->next;
- gtk_object_unref((GtkObject *)f->filter);
+ camel_object_unref((CamelObject *)f->filter);
g_free(f);
f = fn;
}
g_free(p->realbuffer);
g_free(p);
- gtk_object_unref((GtkObject *)filter->source);
-
- GTK_OBJECT_CLASS (camel_stream_filter_parent)->finalize (o);
+ camel_object_unref((CamelObject *)filter->source);
}
-static void
-camel_stream_filter_class_init (CamelStreamFilterClass *klass)
-{
- GtkObjectClass *object_class = (GtkObjectClass *) klass;
- CamelStreamClass *camel_stream_class = (CamelStreamClass *) klass;
-
- camel_stream_filter_parent = gtk_type_class (camel_stream_get_type ());
-
- object_class->finalize = finalise;
-
- camel_stream_class->read = do_read;
- camel_stream_class->write = do_write;
- camel_stream_class->flush = do_flush;
- camel_stream_class->close = do_close;
- camel_stream_class->eos = do_eos;
- camel_stream_class->reset = do_reset;
-
- gtk_object_class_add_signals (object_class, signals, LAST_SIGNAL);
-}
-
-static void
-camel_stream_filter_init (CamelStreamFilter *obj)
+CamelType
+camel_stream_filter_get_type (void)
{
- struct _CamelStreamFilterPrivate *p;
+ static CamelType type = CAMEL_INVALID_TYPE;
- _PRIVATE(obj) = p = g_malloc0(sizeof(*p));
- p->realbuffer = g_malloc(READ_SIZE + READ_PAD);
- p->buffer = p->realbuffer + READ_PAD;
- p->last_was_read = TRUE;
+ if (type == CAMEL_INVALID_TYPE) {
+ type = camel_type_register (CAMEL_STREAM_TYPE, "CamelStreamFilter",
+ sizeof (CamelStreamFilter),
+ sizeof (CamelStreamFilterClass),
+ (CamelObjectClassInitFunc) camel_stream_filter_class_init,
+ NULL,
+ (CamelObjectInitFunc) camel_stream_filter_init,
+ (CamelObjectFinalizeFunc) camel_stream_filter_finalize);
+ }
+
+ return type;
}
+
/**
* camel_stream_filter_new:
*
@@ -148,10 +133,10 @@ camel_stream_filter_init (CamelStreamFilter *obj)
CamelStreamFilter *
camel_stream_filter_new_with_stream(CamelStream *stream)
{
- CamelStreamFilter *new = CAMEL_STREAM_FILTER ( gtk_type_new (camel_stream_filter_get_type ()));
+ CamelStreamFilter *new = CAMEL_STREAM_FILTER ( camel_object_new (camel_stream_filter_get_type ()));
new->source = stream;
- gtk_object_ref ((GtkObject *)stream);
+ camel_object_ref ((CamelObject *)stream);
return new;
}
@@ -179,7 +164,7 @@ camel_stream_filter_add(CamelStreamFilter *filter, CamelMimeFilter *mf)
fn = g_malloc(sizeof(*fn));
fn->id = p->filterid++;
fn->filter = mf;
- gtk_object_ref((GtkObject *)mf);
+ camel_object_ref((CamelObject *)mf);
/* sure, we could use a GList, but we wouldn't save much */
f = (struct _filter *)&p->filters;
@@ -208,7 +193,7 @@ camel_stream_filter_remove(CamelStreamFilter *filter, int id)
fn = f->next;
if (fn->id == id) {
f->next = fn->next;
- gtk_object_unref((GtkObject *)fn->filter);
+ camel_object_unref((CamelObject *)fn->filter);
g_free(fn);
}
f = f->next;