aboutsummaryrefslogtreecommitdiffstats
path: root/camel/camel-disco-store.c
diff options
context:
space:
mode:
authorJeffrey Stedfast <fejj@ximian.com>2002-05-09 05:58:37 +0800
committerJeffrey Stedfast <fejj@src.gnome.org>2002-05-09 05:58:37 +0800
commit4554c20766d386909b765446af93418292293a7c (patch)
tree0bc57a8bdeb9901bd0dd929ca911ef53e9d4e81c /camel/camel-disco-store.c
parent06bd4d2a16b4b39f485363f10dd272d529e3f16a (diff)
downloadgsoc2013-evolution-4554c20766d386909b765446af93418292293a7c.tar
gsoc2013-evolution-4554c20766d386909b765446af93418292293a7c.tar.gz
gsoc2013-evolution-4554c20766d386909b765446af93418292293a7c.tar.bz2
gsoc2013-evolution-4554c20766d386909b765446af93418292293a7c.tar.lz
gsoc2013-evolution-4554c20766d386909b765446af93418292293a7c.tar.xz
gsoc2013-evolution-4554c20766d386909b765446af93418292293a7c.tar.zst
gsoc2013-evolution-4554c20766d386909b765446af93418292293a7c.zip
Implemented. (digest_getv): Implemented.
2002-05-08 Jeffrey Stedfast <fejj@ximian.com> * camel-digest-store.c (digest_setv): Implemented. (digest_getv): Implemented. * camel-disco-store.c (disco_setv): Implemented. (disco_getv): Implemented. * camel-remote-store.c (remote_store_setv): Implemented. (remote_store_getv): Implemented. * camel-transport.c (camel_transport_class_init): Implemented. (transport_setv): Implemented. (transport_getv): Implemented. * camel-store.c (store_setv): Implemented. (store_getv): Implemented. * camel-service.c (service_setv): Implemented. (service_getv): Implemented. svn path=/trunk/; revision=16729
Diffstat (limited to 'camel/camel-disco-store.c')
-rw-r--r--camel/camel-disco-store.c42
1 files changed, 32 insertions, 10 deletions
diff --git a/camel/camel-disco-store.c b/camel/camel-disco-store.c
index b18d88924c..45207e4538 100644
--- a/camel/camel-disco-store.c
+++ b/camel/camel-disco-store.c
@@ -33,7 +33,7 @@
#define CDS_CLASS(o) (CAMEL_DISCO_STORE_CLASS (CAMEL_OBJECT_GET_CLASS (o)))
-static CamelRemoteStoreClass *remote_store_class = NULL;
+static CamelRemoteStoreClass *parent_class = NULL;
static void disco_construct (CamelService *service, CamelSession *session,
CamelProvider *provider, CamelURL *url,
@@ -51,26 +51,34 @@ static void set_status (CamelDiscoStore *disco_store,
CamelException *ex);
static gboolean can_work_offline (CamelDiscoStore *disco_store);
+static int disco_setv (CamelObject *object, CamelException *ex, CamelArgV *args);
+static int disco_getv (CamelObject *object, CamelException *ex, CamelArgGetV *args);
+
static void
camel_disco_store_class_init (CamelDiscoStoreClass *camel_disco_store_class)
{
+ CamelObjectClass *camel_object_class =
+ CAMEL_OBJECT_CLASS (camel_disco_store_class);
CamelServiceClass *camel_service_class =
CAMEL_SERVICE_CLASS (camel_disco_store_class);
CamelStoreClass *camel_store_class =
CAMEL_STORE_CLASS (camel_disco_store_class);
-
- remote_store_class = CAMEL_REMOTE_STORE_CLASS (camel_type_get_global_classfuncs (camel_remote_store_get_type ()));
-
+
+ parent_class = CAMEL_REMOTE_STORE_CLASS (camel_type_get_global_classfuncs (camel_remote_store_get_type ()));
+
/* virtual method definition */
camel_disco_store_class->set_status = set_status;
camel_disco_store_class->can_work_offline = can_work_offline;
-
+
/* virtual method overload */
+ camel_object_class->setv = disco_setv;
+ camel_object_class->getv = disco_getv;
+
camel_service_class->construct = disco_construct;
camel_service_class->connect = disco_connect;
camel_service_class->disconnect = disco_disconnect;
camel_service_class->cancel_connect = disco_cancel_connect;
-
+
camel_store_class->get_folder = disco_get_folder;
camel_store_class->get_folder_info = disco_get_folder_info;
}
@@ -94,6 +102,20 @@ camel_disco_store_get_type (void)
return camel_disco_store_type;
}
+static int
+disco_setv (CamelObject *object, CamelException *ex, CamelArgV *args)
+{
+ /* CamelDiscoStore doesn't currently have anything to set */
+ return CAMEL_OBJECT_CLASS (parent_class)->setv (object, ex, args);
+}
+
+static int
+disco_getv (CamelObject *object, CamelException *ex, CamelArgGetV *args)
+{
+ /* CamelDiscoStore doesn't currently have anything to get */
+ return CAMEL_OBJECT_CLASS (parent_class)->getv (object, ex, args);
+}
+
static void
disco_construct (CamelService *service, CamelSession *session,
CamelProvider *provider, CamelURL *url,
@@ -101,7 +123,7 @@ disco_construct (CamelService *service, CamelSession *session,
{
CamelDiscoStore *disco = CAMEL_DISCO_STORE (service);
- CAMEL_SERVICE_CLASS (remote_store_class)->construct (service, session, provider, url, ex);
+ CAMEL_SERVICE_CLASS (parent_class)->construct (service, session, provider, url, ex);
if (camel_exception_is_set (ex))
return;
@@ -117,7 +139,7 @@ disco_connect (CamelService *service, CamelException *ex)
status = camel_disco_store_status (store);
if (status != CAMEL_DISCO_STORE_OFFLINE) {
- if (!CAMEL_SERVICE_CLASS (remote_store_class)->connect (service, ex)) {
+ if (!CAMEL_SERVICE_CLASS (parent_class)->connect (service, ex)) {
status = camel_disco_store_status (store);
if (status != CAMEL_DISCO_STORE_OFFLINE)
return FALSE;
@@ -160,7 +182,7 @@ disco_cancel_connect (CamelService *service)
/* Fall back */
store->status = CAMEL_DISCO_STORE_OFFLINE;
- CAMEL_SERVICE_CLASS (remote_store_class)->cancel_connect (service);
+ CAMEL_SERVICE_CLASS (parent_class)->cancel_connect (service);
}
static gboolean
@@ -182,7 +204,7 @@ disco_disconnect (CamelService *service, gboolean clean, CamelException *ex)
}
- return CAMEL_SERVICE_CLASS (remote_store_class)->disconnect (service, clean, ex);
+ return CAMEL_SERVICE_CLASS (parent_class)->disconnect (service, clean, ex);
}
static CamelFolder *