aboutsummaryrefslogtreecommitdiffstats
path: root/camel/camel-provider.h
diff options
context:
space:
mode:
authorbertrand <Bertrand.Guiheneuf@aful.org>1999-08-12 06:34:09 +0800
committerBertrand Guiheneuf <bertrand@src.gnome.org>1999-08-12 06:34:09 +0800
commita478ee7e9d44ea7947b2dc51fcf5d7f09735ee52 (patch)
tree16013fe0bf49a83f311bd25c6c603d1a29e5277a /camel/camel-provider.h
parent33ffe9aadcef483a4900cc65fc9e840220951e3c (diff)
downloadgsoc2013-evolution-a478ee7e9d44ea7947b2dc51fcf5d7f09735ee52.tar.gz
gsoc2013-evolution-a478ee7e9d44ea7947b2dc51fcf5d7f09735ee52.tar.zst
gsoc2013-evolution-a478ee7e9d44ea7947b2dc51fcf5d7f09735ee52.zip
new file. MH provider registration stuff.
1999-08-12 bertrand <Bertrand.Guiheneuf@aful.org> * camel/providers/MH/camel-mh-provider.c: new file. MH provider registration stuff. * camel/camel-provider.c (camel_provider_register_as_module): load a provider from a shared object (plugin). (camel_provider_register): register a provider "by hand". Used for statically defined providers. * tests/test7.c: new test. tests providers loading framework. Providers modules loading Works !!! :)))) svn path=/trunk/; revision=1105
Diffstat (limited to 'camel/camel-provider.h')
-rw-r--r--camel/camel-provider.h17
1 files changed, 13 insertions, 4 deletions
diff --git a/camel/camel-provider.h b/camel/camel-provider.h
index 54b9ef2a2a..3099efa265 100644
--- a/camel/camel-provider.h
+++ b/camel/camel-provider.h
@@ -1,5 +1,5 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/* camel-provider.h : provider management */
+/* camel-provider.h : provider definition */
/*
*
@@ -31,6 +31,11 @@ extern "C" {
#pragma }
#endif /* __cplusplus }*/
+#include <gtk/gtk.h>
+#include <gmodule.h>
+
+#define CAMEL_PROVIDER(obj) (CamelProvider *)(obj)
+
typedef enum {
PROVIDER_STORE,
PROVIDER_TRANSPORT
@@ -40,11 +45,15 @@ typedef enum {
typedef struct {
GtkType object_type; /* used to create instance of the provider */
ProviderType provider_type; /* is a store or a transport */
- gchar *protocol; /* name of the protocol ("imap"/"smtp"/"mh" ...) */
- gchar *provider_name; /* name of the provider ("Raymond the imap provider") */
- gchar *description; /* Useful when multiple providers are available for a same protocol */
+ gchar *protocol; /* name of the protocol ("imap"/"smtp"/"mh" ...) */
+ gchar *name; /* name of the provider ("Raymond the imap provider") */
+ gchar *description; /* Useful when multiple providers are available for a same protocol */
+
+ GModule *gmodule;
} CamelProvider;
+void camel_provider_register (CamelProvider *provider);
+const CamelProvider *camel_provider_register_as_module (const gchar *module_path);
#ifdef __cplusplus