From e9f6fe2303bb34a14f50bc5176a09d507046379f Mon Sep 17 00:00:00 2001 From: Bertrand Guiheneuf Date: Tue, 20 Apr 1999 18:31:34 +0000 Subject: [PATCH] simple service class added --- camel/Makefile.am | 2 ++ camel/camel-service.c | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++ camel/camel-service.h | 61 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 136 insertions(+) create mode 100644 camel/camel-service.c create mode 100644 camel/camel-service.h diff --git a/camel/Makefile.am b/camel/Makefile.am index 4c21006..503f9f0 100644 --- a/camel/Makefile.am +++ b/camel/Makefile.am @@ -14,12 +14,14 @@ INCLUDES = -I.. -I$(srcdir)/.. -I$(includedir) \ libcamel_la_SOURCES = \ camel-log.c \ camel-folder.c \ + camel-service.c \ camel-store.c \ gstring-util.c libcamelinclude_HEADERS = \ camel-log.h \ camel-folder.h \ + camel-service.h \ camel-store.h \ gstring-util.h diff --git a/camel/camel-service.c b/camel/camel-service.c new file mode 100644 index 0000000..6f9d6a0 --- /dev/null +++ b/camel/camel-service.c @@ -0,0 +1,73 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* camelService.c : Abstract class for an email service */ + +/* + * + * 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-service.h" + +static GtkObjectClass *camel_service_parent_class=NULL; + +/* Returns the class for a CamelService */ +#define CSERV_CLASS(so) CAMEL_SERVICE_CLASS (GTK_OBJECT(so)->klass) + + + +static void +camel_service_class_init (CamelServiceClass *camel_service_class) +{ + camel_service_parent_class = gtk_type_class (gtk_object_get_type ()); + + /* virtual method definition */ + /* virtual method overload */ +} + + + + + + + +GtkType +camel_service__get_type (void) +{ + static GtkType camel_service_type = 0; + + if (!camel_service_type) { + GtkTypeInfo camel_service_info = + { + "CamelService", + sizeof (CamelService), + sizeof (CamelServiceClass), + (GtkClassInitFunc) camel_service_class_init, + (GtkObjectInitFunc) NULL, + /* reserved_1 */ NULL, + /* reserved_2 */ NULL, + (GtkClassInitFunc) NULL, + }; + + camel_service_type = gtk_type_unique (gtk_object_get_type (), &camel_service_info); + } + + return camel_service_type; +} + + + diff --git a/camel/camel-service.h b/camel/camel-service.h new file mode 100644 index 0000000..57449b1 --- /dev/null +++ b/camel/camel-service.h @@ -0,0 +1,61 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* camel-service.h : Abstract class for an email service */ + +/* + * + * 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_SERVICE_H +#define CAMEL_SERVICE_H 1 + + +#ifdef __cplusplus +extern "C" { +#pragma } +#endif /* __cplusplus }*/ + +#include +#include "camel-folder.h" + +#define CAMEL_SERVICE_TYPE (camel_service_get_type ()) +#define CAMEL_SERVICE(obj) (GTK_CHECK_CAST((obj), CAMEL_SERVICE_TYPE, CamelService)) +#define CAMEL_SERVICE_CLASS(k) (GTK_CHECK_CLASS_CAST ((k), CAMEL_SERVICE_TYPE, CamelServiceClass)) +#define IS_CAMEL_SERVICE(o) (GTK_CHECK_TYPE((o), CAMEL_SERVICE_TYPE)) + + + +typedef struct { + GtkObject parent_object; +} CamelService; + + + +typedef struct { + GtkObjectClass parent_class; + +} CamelServiceClass; + + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif /* CAMEL_SERVICE_H */ + -- 2.7.4