[evolution-data-server] Add camel_session_ref_main_context().



commit c87e0d6f1d5fc44a5fb82c55ec55534d0d1fb026
Author: Matthew Barnes <mbarnes redhat com>
Date:   Fri Feb 22 09:17:24 2013 -0500

    Add camel_session_ref_main_context().
    
    Replaces camel_session_get_main_context().

 camel/camel-network-service.c           |    4 +++-
 camel/camel-session.c                   |   29 ++++++++++++++++++++++++++---
 camel/camel-session.h                   |    6 +++++-
 docs/reference/camel/camel-sections.txt |    4 +++-
 4 files changed, 37 insertions(+), 6 deletions(-)
---
diff --git a/camel/camel-network-service.c b/camel/camel-network-service.c
index ea1b915..438540c 100644
--- a/camel/camel-network-service.c
+++ b/camel/camel-network-service.c
@@ -191,7 +191,7 @@ network_service_update_host_reachable (CamelNetworkService *service)
                GMainContext *main_context;
                GSource *idle_source;
 
-               main_context = camel_session_get_main_context (session);
+               main_context = camel_session_ref_main_context (session);
 
                idle_source = g_idle_source_new ();
                g_source_set_priority (idle_source, G_PRIORITY_LOW);
@@ -203,6 +203,8 @@ network_service_update_host_reachable (CamelNetworkService *service)
                g_source_attach (idle_source, main_context);
                priv->update_host_reachable = g_source_ref (idle_source);
                g_source_unref (idle_source);
+
+               g_main_context_unref (main_context);
        }
 
        g_mutex_unlock (&priv->update_host_reachable_lock);
diff --git a/camel/camel-session.c b/camel/camel-session.c
index 12c8845..71b27b8 100644
--- a/camel/camel-session.c
+++ b/camel/camel-session.c
@@ -300,8 +300,8 @@ session_get_property (GObject *object,
                        return;
 
                case PROP_MAIN_CONTEXT:
-                       g_value_set_boxed (
-                               value, camel_session_get_main_context (
+                       g_value_take_boxed (
+                               value, camel_session_ref_main_context (
                                CAMEL_SESSION (object)));
                        return;
 
@@ -878,6 +878,8 @@ camel_session_init (CamelSession *session)
  * Returns: a #GMainContext
  *
  * Since: 3.6
+ *
+ * Deprecated: 3.8: Use camel_session_ref_main_context() instead.
  **/
 GMainContext *
 camel_session_get_main_context (CamelSession *session)
@@ -888,6 +890,25 @@ camel_session_get_main_context (CamelSession *session)
 }
 
 /**
+ * camel_session_ref_main_context:
+ * @session: a #CamelSession
+ *
+ * Returns the #GMainContext on which event sources for @session are to
+ * be attached.
+ *
+ * Returns: a #GMainContext
+ *
+ * Since: 3.8
+ **/
+GMainContext *
+camel_session_ref_main_context (CamelSession *session)
+{
+       g_return_val_if_fail (CAMEL_IS_SESSION (session), NULL);
+
+       return g_main_context_ref (session->priv->main_context);
+}
+
+/**
  * camel_session_get_user_data_dir:
  * @session: a #CamelSession
  *
@@ -1564,7 +1585,7 @@ camel_session_idle_add (CamelSession *session,
        g_return_val_if_fail (CAMEL_IS_SESSION (session), 0);
        g_return_val_if_fail (function != NULL, 0);
 
-       main_context = camel_session_get_main_context (session);
+       main_context = camel_session_ref_main_context (session);
 
        source = g_idle_source_new ();
 
@@ -1577,6 +1598,8 @@ camel_session_idle_add (CamelSession *session,
 
        g_source_unref (source);
 
+       g_main_context_unref (main_context);
+
        return source_id;
 }
 
diff --git a/camel/camel-session.h b/camel/camel-session.h
index 12c72d4..5925443 100644
--- a/camel/camel-session.h
+++ b/camel/camel-session.h
@@ -180,7 +180,7 @@ struct _CamelSessionClass {
 };
 
 GType          camel_session_get_type          (void);
-GMainContext * camel_session_get_main_context  (CamelSession *session);
+GMainContext * camel_session_ref_main_context  (CamelSession *session);
 const gchar *  camel_session_get_user_data_dir (CamelSession *session);
 const gchar *  camel_session_get_user_cache_dir
                                                (CamelSession *session);
@@ -299,6 +299,10 @@ gboolean   camel_session_forward_to_finish (CamelSession *session,
                                                 GAsyncResult *result,
                                                 GError **error);
 
+#ifndef CAMEL_DISABLE_DEPRECATED
+GMainContext * camel_session_get_main_context  (CamelSession *session);
+#endif /* CAMEL_DISABLE_DEPRECATED */
+
 G_END_DECLS
 
 #endif /* CAMEL_SESSION_H */
diff --git a/docs/reference/camel/camel-sections.txt b/docs/reference/camel/camel-sections.txt
index cccb546..c20be7c 100644
--- a/docs/reference/camel/camel-sections.txt
+++ b/docs/reference/camel/camel-sections.txt
@@ -2325,7 +2325,7 @@ camel_service_error_quark
 <TITLE>CamelSession</TITLE>
 CamelSession
 CamelSessionAlertType
-camel_session_get_main_context
+camel_session_ref_main_context
 camel_session_get_user_data_dir
 camel_session_get_user_cache_dir
 camel_session_get_socks_proxy
@@ -2361,6 +2361,8 @@ camel_session_authenticate_finish
 camel_session_forward_to_sync
 camel_session_forward_to
 camel_session_forward_to_finish
+<SUBSECTION Deprecated>
+camel_session_get_main_context
 <SUBSECTION Standard>
 CAMEL_SESSION
 CAMEL_IS_SESSION


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]