[telepathy-salut/master] gibber-unix-transport: override GibberFdTransport's read

Guillaume Desmottes guillaume.desmottes at collabora.co.uk
Mon May 11 08:38:15 PDT 2009


---
 lib/gibber/gibber-unix-transport.c |   18 ++++++++++++++++++
 1 files changed, 18 insertions(+), 0 deletions(-)

diff --git a/lib/gibber/gibber-unix-transport.c b/lib/gibber/gibber-unix-transport.c
index c877060..a161574 100644
--- a/lib/gibber/gibber-unix-transport.c
+++ b/lib/gibber/gibber-unix-transport.c
@@ -75,17 +75,27 @@ gibber_unix_transport_init (GibberUnixTransport *self)
 }
 
 static void gibber_unix_transport_dispose (GObject *object);
+static GibberFdIOResult gibber_unix_transport_read (
+    GibberFdTransport *transport,
+    GIOChannel *channel,
+    GError **error);
+
 static void
 gibber_unix_transport_class_init (
     GibberUnixTransportClass *gibber_unix_transport_class)
 {
   GObjectClass *object_class = G_OBJECT_CLASS (gibber_unix_transport_class);
+  GibberFdTransportClass *fd_class = GIBBER_FD_TRANSPORT_CLASS (
+      gibber_unix_transport_class);
 
   g_type_class_add_private (gibber_unix_transport_class,
                             sizeof (GibberUnixTransportPrivate));
 
   object_class->dispose = gibber_unix_transport_dispose;
   object_class->finalize = gibber_unix_transport_finalize;
+
+  /* override GibberFdTransport's read */
+  fd_class->read = gibber_unix_transport_read;
 }
 
 void
@@ -223,3 +233,11 @@ gibber_unix_transport_send_credentials (GibberUnixTransport *transport,
 
   return TRUE;
 }
+
+static GibberFdIOResult
+gibber_unix_transport_read (GibberFdTransport *transport,
+    GIOChannel *channel,
+    GError **error)
+{
+  return gibber_fd_transport_read (transport, channel, error);
+}
-- 
1.5.6.5




More information about the telepathy-commits mailing list