diff options
-rw-r--r-- | camel/ChangeLog | 15 | ||||
-rw-r--r-- | camel/Makefile.am | 4 | ||||
-rw-r--r-- | camel/camel-private.h | 27 | ||||
-rw-r--r-- | camel/camel-session.c | 24 | ||||
-rw-r--r-- | camel/camel-vee-folder.c (renamed from camel/providers/vee/camel-vee-folder.c) | 2 | ||||
-rw-r--r-- | camel/camel-vee-folder.h (renamed from camel/providers/vee/camel-vee-folder.h) | 0 | ||||
-rw-r--r-- | camel/camel-vee-store.c (renamed from camel/providers/vee/camel-vee-store.c) | 0 | ||||
-rw-r--r-- | camel/camel-vee-store.h (renamed from camel/providers/vee/camel-vee-store.h) | 0 | ||||
-rw-r--r-- | camel/providers/Makefile.am | 7 | ||||
-rw-r--r-- | camel/providers/vee/Makefile.am | 40 | ||||
-rw-r--r-- | camel/providers/vee/camel-vee-private.h | 70 | ||||
-rw-r--r-- | camel/providers/vee/camel-vee-provider.c | 54 |
12 files changed, 73 insertions, 170 deletions
diff --git a/camel/ChangeLog b/camel/ChangeLog index a8e84df589..164cd55fab 100644 --- a/camel/ChangeLog +++ b/camel/ChangeLog @@ -1,5 +1,20 @@ 2001-02-22 Not Zed <NotZed@Ximian.com> + * providers/vee/*: Removed all files. + + * camel-private.h: Move camel-vee-private.h stuff into here. + + * camel-session.c: Move the vee_provider here, and initialise it + always as part of a session. The vfolder provider is always + available. + + * providers/Makefile.am: Remove "vee" from the build list, now + built as part of the main library. + + * Makefile.am (libcamelinclude_HEADERS): + (libcamel_la_SOURCES): Added camel-vee-store.[ch], + camel-vee-folder.[ch]. + * providers/vee/camel-vee-folder.c (vee_folder_build): Removed, not used. (camel_vee_folder_new): Removed call to build_folder. diff --git a/camel/Makefile.am b/camel/Makefile.am index 55d28f48fc..f2f46c925d 100644 --- a/camel/Makefile.am +++ b/camel/Makefile.am @@ -64,6 +64,8 @@ libcamel_la_SOURCES = \ camel-transport.c \ camel-uid-cache.c \ camel-url.c \ + camel-vee-folder.c \ + camel-vee-store.c \ camel-charset-map.c \ camel.c \ gstring-util.c \ @@ -121,6 +123,8 @@ libcamelinclude_HEADERS = \ camel-types.h \ camel-uid-cache.h \ camel-url.h \ + camel-vee-folder.h \ + camel-vee-store.h \ camel.h \ gstring-util.h \ hash-table-utils.h \ diff --git a/camel/camel-private.h b/camel/camel-private.h index cdfe878edd..9be3a24209 100644 --- a/camel/camel-private.h +++ b/camel/camel-private.h @@ -144,6 +144,33 @@ struct _CamelFolderSummaryPrivate { #define CAMEL_SUMMARY_UNLOCK(f, l) #endif +struct _CamelVeeStorePrivate { +}; + +#ifdef ENABLE_THREADS +#define CAMEL_VEE_STORE_LOCK(f, l) (e_mutex_lock(((CamelVeeStore *)f)->priv->l)) +#define CAMEL_VEE_STORE_UNLOCK(f, l) (e_mutex_unlock(((CamelVeeStore *)f)->priv->l)) +#else +#define CAMEL_VEE_STORE_LOCK(f, l) +#define CAMEL_VEE_STORE_UNLOCK(f, l) +#endif + +struct _CamelVeeFolderPrivate { + GList *folders; /* lock using subfolder_lock before changing/accessing */ + +#ifdef ENABLE_THREADS + GMutex *summary_lock; /* for locking vfolder summary */ + GMutex *subfolder_lock; /* for locking the subfolder list */ +#endif +}; + +#ifdef ENABLE_THREADS +#define CAMEL_VEE_FOLDER_LOCK(f, l) (g_mutex_lock(((CamelVeeFolder *)f)->priv->l)) +#define CAMEL_VEE_FOLDER_UNLOCK(f, l) (g_mutex_unlock(((CamelVeeFolder *)f)->priv->l)) +#else +#define CAMEL_VEE_FOLDER_LOCK(f, l) +#define CAMEL_VEE_FOLDER_UNLOCK(f, l) +#endif #ifdef __cplusplus } diff --git a/camel/camel-session.c b/camel/camel-session.c index 5ef31158b7..f8e27c382b 100644 --- a/camel/camel-session.c +++ b/camel/camel-session.c @@ -40,6 +40,7 @@ #include "camel-url.h" #include "hash-table-utils.h" #include <gal/util/e-util.h> +#include "camel-vee-store.h" #include "camel-private.h" @@ -47,6 +48,24 @@ static CamelObjectClass *parent_class; +/* The vfolder provider is always avilable */ +static CamelProvider vee_provider = { + "vfolder", + N_("Virtual folder email provider"), + + N_("For reading mail as a query of another set of folders"), + + "vfolder", + + 0, + + 0, + + { 0, 0 }, + + NULL +}; + static void camel_session_init (CamelSession *session) { @@ -135,6 +154,11 @@ camel_session_new (const char *storage_path, session->authenticator = authenticator; session->registrar = registrar; session->remover = remover; + + vee_provider.object_types[CAMEL_PROVIDER_STORE] = camel_vee_store_get_type(); + vee_provider.service_cache = g_hash_table_new(camel_url_hash, camel_url_equal); + camel_session_register_provider(session, &vee_provider); + return session; } diff --git a/camel/providers/vee/camel-vee-folder.c b/camel/camel-vee-folder.c index 18c1fe20c4..9db4294bc7 100644 --- a/camel/providers/vee/camel-vee-folder.c +++ b/camel/camel-vee-folder.c @@ -28,7 +28,7 @@ #include "camel-folder-search.h" #include "camel-vee-store.h" /* for open flags */ -#include "camel-vee-private.h" +#include "camel-private.h" #ifdef DOESTRV #include "e-util/e-memory.h" diff --git a/camel/providers/vee/camel-vee-folder.h b/camel/camel-vee-folder.h index 6ae685a8fe..6ae685a8fe 100644 --- a/camel/providers/vee/camel-vee-folder.h +++ b/camel/camel-vee-folder.h diff --git a/camel/providers/vee/camel-vee-store.c b/camel/camel-vee-store.c index 4920e04a83..4920e04a83 100644 --- a/camel/providers/vee/camel-vee-store.c +++ b/camel/camel-vee-store.c diff --git a/camel/providers/vee/camel-vee-store.h b/camel/camel-vee-store.h index ff3d548180..ff3d548180 100644 --- a/camel/providers/vee/camel-vee-store.h +++ b/camel/camel-vee-store.h diff --git a/camel/providers/Makefile.am b/camel/providers/Makefile.am index 1a84059daa..5fd7c83e50 100644 --- a/camel/providers/Makefile.am +++ b/camel/providers/Makefile.am @@ -5,10 +5,7 @@ NNTP_DIR=nntp endif # SUBDIRS = mbox pop3 sendmail smtp vee -SUBDIRS = pop3 sendmail smtp vee imap $(NNTP_DIR) local - -# these ones are disabled for the moment. -# maildir +SUBDIRS = pop3 sendmail smtp imap $(NNTP_DIR) local # these ones are deprecated, and will no longer be maintained -# mbox mh
\ No newline at end of file +# mbox mh maildir vee
\ No newline at end of file diff --git a/camel/providers/vee/Makefile.am b/camel/providers/vee/Makefile.am deleted file mode 100644 index b5026c823e..0000000000 --- a/camel/providers/vee/Makefile.am +++ /dev/null @@ -1,40 +0,0 @@ -## Process this file with automake to produce Makefile.in - -libcamelveeincludedir = $(includedir)/camel - - -providerdir = $(pkglibdir)/camel-providers/$(VERSION) - -provider_LTLIBRARIES = libcamelvee.la -provider_DATA = libcamelvee.urls - -INCLUDES = -I.. \ - -I$(srcdir)/.. \ - -I$(top_srcdir)/camel \ - -I$(top_srcdir)/intl \ - -I$(top_srcdir)/libibex \ - -I$(top_srcdir)/e-util \ - -I$(top_srcdir) \ - -I$(includedir) \ - $(GTK_INCLUDEDIR) \ - -DG_LOG_DOMAIN=\"camel-vee-provider\" - -libcamelvee_la_SOURCES = \ - camel-vee-folder.c \ - camel-vee-provider.c \ - camel-vee-store.c - -libcamelveeinclude_HEADERS = \ - camel-vee-folder.h \ - camel-vee-store.h - -noinst_HEADERS = \ - camel-vee-private.h - -libcamelvee_la_LDFLAGS = -version-info 0:0:0 - -libcamelvee_la_LIBADD = $(top_builddir)/e-util/libeutil.la $(top_builddir)/libibex/libibex.la $(UNICODE_LIBS) -#libcamelvee_la_LIBADD = $(top_builddir)/libibex/libibex.la $(UNICODE_LIBS) - -EXTRA_DIST = libcamelvee.urls - diff --git a/camel/providers/vee/camel-vee-private.h b/camel/providers/vee/camel-vee-private.h deleted file mode 100644 index 6633647bfc..0000000000 --- a/camel/providers/vee/camel-vee-private.h +++ /dev/null @@ -1,70 +0,0 @@ -/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- - * camel-vee-private.h: Private info for vee. - * - * Authors: Michael Zucchi <notzed@helixcode.com> - * - * Copyright 1999, 2000 Helix Code, Inc. (http://www.helixcode.com) - * - * 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_VEE_PRIVATE_H -#define CAMEL_VEE_PRIVATE_H 1 - -#ifdef __cplusplus -extern "C" { -#pragma } -#endif /* __cplusplus }*/ - -/* need a way to configure and save this data, if this header is to - be installed. For now, dont install it */ - -#include "config.h" - -struct _CamelVeeStorePrivate { -}; - -#ifdef ENABLE_THREADS -#define CAMEL_VEE_STORE_LOCK(f, l) (e_mutex_lock(((CamelVeeStore *)f)->priv->l)) -#define CAMEL_VEE_STORE_UNLOCK(f, l) (e_mutex_unlock(((CamelVeeStore *)f)->priv->l)) -#else -#define CAMEL_VEE_STORE_LOCK(f, l) -#define CAMEL_VEE_STORE_UNLOCK(f, l) -#endif - -struct _CamelVeeFolderPrivate { - GList *folders; /* lock using subfolder_lock before changing/accessing */ - -#ifdef ENABLE_THREADS - GMutex *summary_lock; /* for locking vfolder summary */ - GMutex *subfolder_lock; /* for locking the subfolder list */ -#endif -}; - -#ifdef ENABLE_THREADS -#define CAMEL_VEE_FOLDER_LOCK(f, l) (g_mutex_lock(((CamelVeeFolder *)f)->priv->l)) -#define CAMEL_VEE_FOLDER_UNLOCK(f, l) (g_mutex_unlock(((CamelVeeFolder *)f)->priv->l)) -#else -#define CAMEL_VEE_FOLDER_LOCK(f, l) -#define CAMEL_VEE_FOLDER_UNLOCK(f, l) -#endif - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - -#endif /* CAMEL_VEE_PRIVATE_H */ - diff --git a/camel/providers/vee/camel-vee-provider.c b/camel/providers/vee/camel-vee-provider.c deleted file mode 100644 index 4588fb77d3..0000000000 --- a/camel/providers/vee/camel-vee-provider.c +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright (C) 2000 Helix Code Inc. - * - * Authors: Michael Zucchi <notzed@helixcode.com> - * - * 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 "config.h" -#include "camel-vee-store.h" -#include "camel-provider.h" -#include "camel-session.h" -#include "camel-url.h" - -static CamelProvider vee_provider = { - "vfolder", - N_("Virtual folder email provider"), - - N_("For reading mail as a query of another set of folders"), - - "vfolder", - - 0, - - 0, - - { 0, 0 }, - - NULL -}; - -void -camel_provider_module_init (CamelSession *session) -{ - vee_provider.object_types[CAMEL_PROVIDER_STORE] = - camel_vee_store_get_type(); - - vee_provider.service_cache = g_hash_table_new (camel_url_hash, camel_url_equal); - - camel_session_register_provider (session, &vee_provider); -} |