[telepathy-mission-control/master] mcd-account-connection: move transport-related functions to mcd-account

Simon McVittie simon.mcvittie at collabora.co.uk
Wed Apr 15 04:55:15 PDT 2009


This means the transport can be a struct field in the private struct,
rather than just qdata glued onto the side of the object.
---
 src/mcd-account-connection.c |   27 ---------------------------
 src/mcd-account.c            |   29 +++++++++++++++++++++++++++++
 2 files changed, 29 insertions(+), 27 deletions(-)

diff --git a/src/mcd-account-connection.c b/src/mcd-account-connection.c
index 07d2b17..308a9df 100644
--- a/src/mcd-account-connection.c
+++ b/src/mcd-account-connection.c
@@ -122,33 +122,6 @@ mcd_account_connection_proceed (McdAccount *account, gboolean success)
     }
 }
 
-/**
- * mcd_account_connection_bind_transport:
- * @account: the #McdAccount.
- * @transport: the #McdTransport.
- *
- * Set @account as dependent on @transport; connectivity plugins should call
- * this function in the callback they registered with
- * mcd_plugin_register_account_connection(). This tells the account manager to
- * disconnect @account when @transport goes away.
- */
-void
-mcd_account_connection_bind_transport (McdAccount *account,
-                                       McdTransport *transport)
-{
-    g_return_if_fail (MCD_IS_ACCOUNT (account));
-
-    g_object_set_data ((GObject *)account, "transport", transport);
-}
-
-McdTransport *
-_mcd_account_connection_get_transport (McdAccount *account)
-{
-    g_return_val_if_fail (MCD_IS_ACCOUNT (account), NULL);
-
-    return g_object_get_data ((GObject *)account, "transport");
-}
-
 inline void
 _mcd_account_connection_class_init (McdAccountClass *klass)
 {
diff --git a/src/mcd-account.c b/src/mcd-account.c
index 7c6c9bb..eab28f5 100644
--- a/src/mcd-account.c
+++ b/src/mcd-account.c
@@ -43,6 +43,7 @@
 #include "mcd-account-connection.h"
 #include "mcd-account-requests.h"
 #include "mcd-account-stats.h"
+#include "mcd-connection-plugin.h"
 #include "mcd-misc.h"
 #include "mcd-signals-marshal.h"
 #include "mcd-manager.h"
@@ -104,6 +105,7 @@ struct _McdAccountPrivate
     McdConnection *connection;
     McdManager *manager;
     McdAccountManager *account_manager;
+    McdTransport *transport;
     GKeyFile *keyfile;		/* configuration file */
 
     /* connection status */
@@ -2463,3 +2465,30 @@ _mcd_account_request_temporary_presence (McdAccount *self,
                    0, type, status, "");
     self->priv->temporary_presence = TRUE;
 }
+
+/**
+ * mcd_account_connection_bind_transport:
+ * @account: the #McdAccount.
+ * @transport: the #McdTransport.
+ *
+ * Set @account as dependent on @transport; connectivity plugins should call
+ * this function in the callback they registered with
+ * mcd_plugin_register_account_connection(). This tells the account manager to
+ * disconnect @account when @transport goes away.
+ */
+void
+mcd_account_connection_bind_transport (McdAccount *account,
+                                       McdTransport *transport)
+{
+    g_return_if_fail (MCD_IS_ACCOUNT (account));
+
+    account->priv->transport = transport;
+}
+
+McdTransport *
+_mcd_account_connection_get_transport (McdAccount *account)
+{
+    g_return_val_if_fail (MCD_IS_ACCOUNT (account), NULL);
+
+    return account->priv->transport;
+}
-- 
1.5.6.5




More information about the telepathy-commits mailing list