From d7972e527dc6abc1b9acffdb72f123e6d94bfd2b Mon Sep 17 00:00:00 2001 From: bertrand Date: Sat, 8 May 1999 17:20:27 +0000 Subject: new class. models a mime mail part. 1999-05-08 bertrand * camel/camel-mime-part.[ch]: new class. models a mime mail part. svn path=/trunk/; revision=894 --- camel/Makefile.am | 2 ++ camel/camel-mime-part.c | 75 +++++++++++++++++++++++++++++++++++++++++++++++++ camel/camel-mime-part.h | 72 +++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 149 insertions(+) create mode 100644 camel/camel-mime-part.c create mode 100644 camel/camel-mime-part.h (limited to 'camel') diff --git a/camel/Makefile.am b/camel/Makefile.am index 4c321a5931..a67ccbd766 100644 --- a/camel/Makefile.am +++ b/camel/Makefile.am @@ -15,6 +15,7 @@ libcamel_la_SOURCES = \ camel-log.c \ camel-data-wrapper.c \ camel-folder.c \ + camel-mime-part.c \ camel-provider.c \ camel-service.c \ camel-session.c \ @@ -26,6 +27,7 @@ libcamelinclude_HEADERS = \ camel-log.h \ camel-data-wrapper.h \ camel-folder.h \ + camel-mime-part.h \ camel-provider.h \ camel-service.h \ camel-session.h \ diff --git a/camel/camel-mime-part.c b/camel/camel-mime-part.c new file mode 100644 index 0000000000..2d3fdb58fb --- /dev/null +++ b/camel/camel-mime-part.c @@ -0,0 +1,75 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* camelMimePart.c : Abstract class for a mime_part */ + +/** THIS IS MOSTLY AN ABSTRACT CLASS THAT SHOULD HAVE BEEN AN + INTERFACE. **/ + +/* + * + * Copyright (C) 1999 Bertrand Guiheneuf . + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + * USA + */ + +#include "camel-mime-part.h" + +static CamelDataWrapperClass *parent_class=NULL; + +/* Returns the class for a CamelMimePart */ +#define CMP_CLASS(so) CAMEL_MIME_PART_CLASS (GTK_OBJECT(so)->klass) + +static void +camel_mime_part_class_init (CamelMimePartClass *camel_mime_part_class) +{ + parent_class = gtk_type_class (camel_data_wrapper_get_type ()); + + /* virtual method definition */ + + /* virtual method overload */ +} + + + + + + + +GtkType +camel_mime_part_get_type (void) +{ + static GtkType camel_mime_part_type = 0; + + if (!camel_mime_part_type) { + GtkTypeInfo camel_mime_part_info = + { + "CamelMimePart", + sizeof (CamelMimePart), + sizeof (CamelMimePartClass), + (GtkClassInitFunc) camel_mime_part_class_init, + (GtkObjectInitFunc) NULL, + /* reserved_1 */ NULL, + /* reserved_2 */ NULL, + (GtkClassInitFunc) NULL, + }; + + camel_mime_part_type = gtk_type_unique (camel_data_wrapper_get_type (), &camel_mime_part_info); + } + + return camel_mime_part_type; +} + + + diff --git a/camel/camel-mime-part.h b/camel/camel-mime-part.h new file mode 100644 index 0000000000..2342fb0e50 --- /dev/null +++ b/camel/camel-mime-part.h @@ -0,0 +1,72 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* camelMimePart.h : class for a mime part */ + +/* + * + * Copyright (C) 1999 Bertrand Guiheneuf . + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + * USA + */ + + +#ifndef CAMEL_MIME_PART_H +#define CAMEL_MIME_PART_H 1 + + +#ifdef __cplusplus +extern "C" { +#pragma } +#endif /* __cplusplus }*/ + +#include +#include "camel-data-wrapper.h" + + + +#define CAMEL_MIME_PART_TYPE (camel_mime_part_get_type ()) +#define CAMEL_MIME_PART(obj) (GTK_CHECK_CAST((obj), CAMEL_MIME_PART_TYPE, CamelMimePart)) +#define CAMEL_MIME_PART_CLASS(k) (GTK_CHECK_CLASS_CAST ((k), CAMEL_MIME_PART_TYPE, CamelMimePartClass)) +#define IS_CAMEL_MIME_PART(o) (GTK_CHECK_TYPE((o), CAMEL_MIME_PART_TYPE)) + + +typedef struct +{ + CamelDataWrapper parent_object; + +} CamelMimePart; + + + +typedef struct { + CamelDataWrapperClass parent_class; + + /* Virtual methods */ + +} CamelMimePartClass; + + + +/* Standard Gtk function */ +GtkType camel_mime_part_get_type (void); + + +/* public methods */ + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif /* CAMEL_MIME_PART_H */ -- cgit v1.2.3