[evolution-kolab/ek-wip-porting] CamelIMAPXExtdStore: added parent class functions
- From: Christian Hilberg <chilberg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution-kolab/ek-wip-porting] CamelIMAPXExtdStore: added parent class functions
- Date: Tue, 20 Dec 2011 14:31:37 +0000 (UTC)
commit d6d9630fdc11498bd43415f94e3959cc984ec705
Author: Christian Hilberg <hilberg kernelconcepts de>
Date: Tue Dec 20 15:27:28 2011 +0100
CamelIMAPXExtdStore: added parent class functions
* chaining up to parent for all virtual functions
for now
* need to check subclassing / types first, then
override the parent functions we need to
src/camel/providers/imapx/camel-imapx-extd-store.c | 27 ++++++++++++++++++++
1 files changed, 27 insertions(+), 0 deletions(-)
---
diff --git a/src/camel/providers/imapx/camel-imapx-extd-store.c b/src/camel/providers/imapx/camel-imapx-extd-store.c
index d86bb88..2157dcb 100644
--- a/src/camel/providers/imapx/camel-imapx-extd-store.c
+++ b/src/camel/providers/imapx/camel-imapx-extd-store.c
@@ -31,6 +31,7 @@
#include <libekolabutil/camel-system-headers.h>
+#include "camel-imapx-settings.h"
#include "camel-imapx-extd-store.h"
/*----------------------------------------------------------------------------*/
@@ -113,11 +114,37 @@ static void
camel_imapx_extd_store_class_init (CamelIMAPXExtdStoreClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
+ CamelServiceClass *service_class = CAMEL_SERVICE_CLASS (klass);
+ CamelStoreClass *store_class = CAMEL_STORE_CLASS (klass);
+ CamelServiceClass *parent_service_class = \
+ CAMEL_SERVICE_CLASS (camel_imapx_extd_store_parent_class);
+ CamelStoreClass *parent_store_class = \
+ CAMEL_STORE_CLASS (camel_imapx_extd_store_parent_class);
/* g_type_class_add_private (klass, sizeof (CamelIMAPXExtdStorePrivate)); */
object_class->dispose = camel_imapx_extd_store_dispose;
object_class->finalize = camel_imapx_extd_store_finalize;
+
+ service_class->settings_type = CAMEL_TYPE_IMAPX_SETTINGS; /* maybe need to get our own here */
+ service_class->get_name = parent_service_class->get_name;
+ service_class->connect_sync = parent_service_class->connect_sync;
+ service_class->disconnect_sync = parent_service_class->disconnect_sync;
+ service_class->authenticate_sync = parent_service_class->authenticate_sync;
+ service_class->query_auth_types_sync = parent_service_class->query_auth_types_sync;
+
+ store_class->hash_folder_name = parent_store_class->hash_folder_name;
+ store_class->compare_folder_name = parent_store_class->compare_folder_name;
+ store_class->can_refresh_folder = parent_store_class->can_refresh_folder;
+ store_class->free_folder_info = parent_store_class->free_folder_info;
+ store_class->get_folder_sync = parent_store_class->get_folder_sync;
+ store_class->get_folder_info_sync = parent_store_class->get_folder_info_sync;
+ store_class->get_junk_folder_sync = parent_store_class->get_junk_folder_sync;
+ store_class->get_trash_folder_sync = parent_store_class->get_trash_folder_sync;
+ store_class->create_folder_sync = parent_store_class->create_folder_sync;
+ store_class->delete_folder_sync = parent_store_class->delete_folder_sync;
+ store_class->rename_folder_sync = parent_store_class->rename_folder_sync;
+ store_class->noop_sync = parent_store_class->noop_sync;
}
/*----------------------------------------------------------------------------*/
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]