Added cancel_check_support method to account protocols.
authorJose Dapena Paz <jdapena@igalia.com>
Fri, 21 Aug 2009 10:15:15 +0000 (12:15 +0200)
committerJose Dapena Paz <jdapena@igalia.com>
Fri, 21 Aug 2009 15:31:35 +0000 (17:31 +0200)
src/modest-account-protocol.c
src/modest-account-protocol.h

index bd298ad..c9cdbb8 100644 (file)
@@ -89,6 +89,7 @@ modest_account_protocol_get_wizard_response_override_default (ModestAccountProto
 static void modest_account_protocol_check_support_default (ModestAccountProtocol *self,
                                                           ModestAccountProtocolCheckSupportFunc func,
                                                           gpointer userdata);
+static void modest_account_protocol_cancel_check_support_default (ModestAccountProtocol *self);
 static gboolean modest_account_protocol_is_supported_default (ModestAccountProtocol *self);
 static gchar *modest_account_protocol_get_from_default (ModestAccountProtocol *self,
                                                        const gchar *account_id,
@@ -205,6 +206,8 @@ modest_account_protocol_class_init (ModestAccountProtocolClass *klass)
                modest_account_protocol_is_supported_default;
        account_class->check_support =
                modest_account_protocol_check_support_default;
+       account_class->cancel_check_support =
+               modest_account_protocol_cancel_check_support_default;
        account_class->get_from =
                modest_account_protocol_get_from_default;
        account_class->get_from_list =
@@ -657,6 +660,18 @@ modest_account_protocol_check_support (ModestAccountProtocol *self,
        MODEST_ACCOUNT_PROTOCOL_GET_CLASS (self)->check_support (self, func, userdata);
 }
 
+static void
+modest_account_protocol_cancel_check_support_default (ModestAccountProtocol *self)
+{
+       return;
+}
+
+void
+modest_account_protocol_cancel_check_support (ModestAccountProtocol *self)
+{
+       MODEST_ACCOUNT_PROTOCOL_GET_CLASS (self)->cancel_check_support (self);
+}
+
 gchar *
 modest_account_protocol_get_from (ModestAccountProtocol *self,
                                  const gchar *account_id,
index 25a6b3c..651ea0f 100644 (file)
@@ -98,9 +98,9 @@ struct _ModestAccountProtocolClass {
                                   const gchar *account_id, TnyMsg *new_msg, TnyMsg *old_msg,
                                   ModestAccountProtocolSaveRemoteDraftCallback callback,
                                   gpointer userdata);
+       void (*cancel_check_support) (ModestAccountProtocol *self);
 
        /* Padding for future expansions */
-       void (*_reserved4) (void);
        void (*_reserved5) (void);
        void (*_reserved6) (void);
        void (*_reserved7) (void);
@@ -347,6 +347,17 @@ ModestWizardDialogResponseOverrideFunc modest_account_protocol_get_wizard_respon
 void modest_account_protocol_check_support (ModestAccountProtocol *self, 
                                            ModestAccountProtocolCheckSupportFunc func, 
                                            gpointer userdata);
+
+/**
+ * modest_account_protocol_cancel_check_support:
+ * @self: a #ModestAccountProtocol
+ *
+ * This method requests that the check support requests running should be
+ * immediately cancelled. Once this happens, is_supported should return %FALSE
+ * until a new succesful check_support request is finished.
+ */
+void modest_account_protocol_cancel_check_support (ModestAccountProtocol *self);
+
 /**
  * modest_account_protocol_is_supported:
  * @self: a #ModestAccountProtocol