diff options
author | Peter Williams <peterw@src.gnome.org> | 2000-08-11 01:30:50 +0800 |
---|---|---|
committer | Peter Williams <peterw@src.gnome.org> | 2000-08-11 01:30:50 +0800 |
commit | 8cb514d6dd9497893a35a089d07a132d51263ee7 (patch) | |
tree | 9f4e5d1f929da7e0be900919753d419fe4c9c61a /camel/camel-stream-filter.c | |
parent | bcbb63c59f80eb4e684036c5ef58ab141fb01b03 (diff) | |
download | gsoc2013-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.c | 101 |
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; |