diff options
Diffstat (limited to 'camel/camel-mime-filter.c')
-rw-r--r-- | camel/camel-mime-filter.c | 97 |
1 files changed, 40 insertions, 57 deletions
diff --git a/camel/camel-mime-filter.c b/camel/camel-mime-filter.c index 27cee890fe..19c4e095fe 100644 --- a/camel/camel-mime-filter.c +++ b/camel/camel-mime-filter.c @@ -28,43 +28,38 @@ struct _CamelMimeFilterPrivate { #define PRE_HEAD (64) #define BACK_HEAD (64) #define _PRIVATE(o) (((CamelMimeFilter *)(o))->priv) -#define FCLASS(o) ((CamelMimeFilterClass *)((GtkObject *)(o))->klass) - -static void camel_mime_filter_class_init (CamelMimeFilterClass *klass); -static void camel_mime_filter_init (CamelMimeFilter *obj); +#define FCLASS(o) ((CamelMimeFilterClass *)(CAMEL_OBJECT_GET_CLASS(o))) static CamelObjectClass *camel_mime_filter_parent; -enum SIGNALS { - LAST_SIGNAL -}; +static void complete (CamelMimeFilter *mf, char *in, size_t len, + size_t prespace, char **out, size_t *outlen, + size_t *outprespace); -static guint signals[LAST_SIGNAL] = { 0 }; +static void +camel_mime_filter_class_init (CamelMimeFilterClass *klass) +{ + camel_mime_filter_parent = camel_type_get_global_classfuncs (camel_object_get_type ()); -guint -camel_mime_filter_get_type (void) + klass->complete = complete; +} + +static void +camel_mime_filter_init (CamelMimeFilter *obj) { - static guint type = 0; - - if (!type) { - GtkTypeInfo type_info = { - "CamelMimeFilter", - sizeof (CamelMimeFilter), - sizeof (CamelMimeFilterClass), - (GtkClassInitFunc) camel_mime_filter_class_init, - (GtkObjectInitFunc) camel_mime_filter_init, - (GtkArgSetFunc) NULL, - (GtkArgGetFunc) NULL - }; - - type = gtk_type_unique (camel_object_get_type (), &type_info); - } - - return type; + obj->outreal = NULL; + obj->outbuf = NULL; + obj->outsize = 0; + + obj->backbuf = NULL; + obj->backsize = 0; + obj->backlen = 0; + + _PRIVATE(obj) = g_malloc0(sizeof(*obj->priv)); } static void -finalise(GtkObject *o) +camel_mime_filter_finalize(CamelObject *o) { CamelMimeFilter *f = (CamelMimeFilter *)o; struct _CamelMimeFilterPrivate *p = _PRIVATE(f); @@ -73,42 +68,30 @@ finalise(GtkObject *o) g_free(f->backbuf); g_free(p->inbuf); g_free(p); - - ((GtkObjectClass *)camel_mime_filter_parent)->finalize (o); } -static void -complete(CamelMimeFilter *mf, char *in, size_t len, size_t prespace, char **out, size_t *outlen, size_t *outprespace) -{ - /* default - do nothing */ -} - -static void -camel_mime_filter_class_init (CamelMimeFilterClass *klass) +CamelType +camel_mime_filter_get_type (void) { - GtkObjectClass *object_class = (GtkObjectClass *) klass; + static CamelType camel_mime_filter_type = CAMEL_INVALID_TYPE; - camel_mime_filter_parent = gtk_type_class (camel_object_get_type ()); - - object_class->finalize = finalise; - - klass->complete = complete; - - gtk_object_class_add_signals (object_class, signals, LAST_SIGNAL); + if (camel_mime_filter_type == CAMEL_INVALID_TYPE) { + camel_mime_filter_type = camel_type_register (CAMEL_OBJECT_TYPE, "CamelMimeFilter", + sizeof (CamelMimeFilter), + sizeof (CamelMimeFilterClass), + (CamelObjectClassInitFunc) camel_mime_filter_class_init, + NULL, + (CamelObjectInitFunc) camel_mime_filter_init, + (CamelObjectFinalizeFunc) camel_mime_filter_finalize); + } + + return camel_mime_filter_type; } static void -camel_mime_filter_init (CamelMimeFilter *obj) +complete(CamelMimeFilter *mf, char *in, size_t len, size_t prespace, char **out, size_t *outlen, size_t *outprespace) { - obj->outreal = NULL; - obj->outbuf = NULL; - obj->outsize = 0; - - obj->backbuf = NULL; - obj->backsize = 0; - obj->backlen = 0; - - _PRIVATE(obj) = g_malloc0(sizeof(*obj->priv)); + /* default - do nothing */ } /** @@ -121,7 +104,7 @@ camel_mime_filter_init (CamelMimeFilter *obj) CamelMimeFilter * camel_mime_filter_new (void) { - CamelMimeFilter *new = CAMEL_MIME_FILTER ( gtk_type_new (camel_mime_filter_get_type ())); + CamelMimeFilter *new = CAMEL_MIME_FILTER ( camel_object_new (camel_mime_filter_get_type ())); return new; } |