[Telepathy-commits] [telepathy-salut/master] SalutDirectBytestreamManager: deleted. Use GibberListener instead.

Alban Crequy alban.crequy at collabora.co.uk
Tue Nov 25 03:59:40 PST 2008


---
 src/Makefile.am                       |    2 -
 src/salut-connection.c                |   26 --
 src/salut-direct-bytestream-manager.c |  516 ---------------------------------
 src/salut-direct-bytestream-manager.h |   84 ------
 4 files changed, 0 insertions(+), 628 deletions(-)
 delete mode 100644 src/salut-direct-bytestream-manager.c
 delete mode 100644 src/salut-direct-bytestream-manager.h

diff --git a/src/Makefile.am b/src/Makefile.am
index 2780fd2..b406859 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -42,8 +42,6 @@ CORE_SOURCES =                                          \
     salut-contact-channel.c                             \
     salut-si-bytestream-manager.h                       \
     salut-si-bytestream-manager.c                       \
-    salut-direct-bytestream-manager.h                   \
-    salut-direct-bytestream-manager.c                   \
     text-helper.c                                       \
     text-helper.h                                       \
     salut-roomlist-channel.h                            \
diff --git a/src/salut-connection.c b/src/salut-connection.c
index 7401672..5d5842b 100644
--- a/src/salut-connection.c
+++ b/src/salut-connection.c
@@ -41,7 +41,6 @@
 #include "salut-self.h"
 #include "salut-xmpp-connection-manager.h"
 #include "salut-si-bytestream-manager.h"
-#include "salut-direct-bytestream-manager.h"
 
 #ifdef ENABLE_OLPC
 #include "salut-olpc-activity-manager.h"
@@ -144,7 +143,6 @@ enum {
   PROP_SELF,
   PROP_XCM,
   PROP_SI_BYTESTREAM_MANAGER,
-  PROP_DIRECT_BYTESTREAM_MANAGER,
 #ifdef ENABLE_OLPC
   PROP_OLPC_ACTIVITY_MANAGER,
 #endif
@@ -194,9 +192,6 @@ struct _SalutConnectionPrivate
   /* Bytestream manager for stream initiation (XEP-0095) */
   SalutSiBytestreamManager *si_bytestream_manager;
 
-  /* Bytestream manager for p2p tubes */
-  SalutDirectBytestreamManager *direct_bytestream_manager;
-
 #ifdef ENABLE_OLPC
   SalutOlpcActivityManager *olpc_activity_manager;
 #endif
@@ -355,9 +350,6 @@ salut_connection_get_property (GObject *object,
     case PROP_SI_BYTESTREAM_MANAGER:
       g_value_set_object (value, priv->si_bytestream_manager);
       break;
-    case PROP_DIRECT_BYTESTREAM_MANAGER:
-      g_value_set_object (value, priv->direct_bytestream_manager);
-      break;
 #ifdef ENABLE_OLPC
     case PROP_OLPC_ACTIVITY_MANAGER:
       g_value_set_object (value, priv->olpc_activity_manager);
@@ -760,17 +752,6 @@ salut_connection_class_init (SalutConnectionClass *salut_connection_class)
   g_object_class_install_property (object_class, PROP_SI_BYTESTREAM_MANAGER,
       param_spec);
 
-  param_spec = g_param_spec_object (
-      "direct-bytestream-manager",
-      "SalutDirectBytestreamManager object",
-      "The Salut Direct Bytestream Manager associated with this Salut Connection",
-      SALUT_TYPE_DIRECT_BYTESTREAM_MANAGER,
-      G_PARAM_READABLE |
-      G_PARAM_STATIC_NICK |
-      G_PARAM_STATIC_BLURB);
-  g_object_class_install_property (object_class, PROP_DIRECT_BYTESTREAM_MANAGER,
-      param_spec);
-
 #ifdef ENABLE_OLPC
   param_spec = g_param_spec_object (
       "olpc-activity-manager",
@@ -847,12 +828,6 @@ salut_connection_dispose (GObject *object)
       priv->si_bytestream_manager = NULL;
     }
 
-  if (priv->direct_bytestream_manager != NULL)
-    {
-      g_object_unref (priv->direct_bytestream_manager);
-      priv->direct_bytestream_manager = NULL;
-    }
-
   /* release any references held by the object here */
   if (G_OBJECT_CLASS (salut_connection_parent_class)->dispose)
     G_OBJECT_CLASS (salut_connection_parent_class)->dispose (object);
@@ -989,7 +964,6 @@ discovery_client_running (SalutConnection *self)
   /* Create the bytestream manager */
   priv->si_bytestream_manager = salut_si_bytestream_manager_new (self,
     salut_discovery_client_get_host_name_fqdn (priv->discovery_client));
-  priv->direct_bytestream_manager = salut_direct_bytestream_manager_new (self);
 }
 
 static void
diff --git a/src/salut-direct-bytestream-manager.c b/src/salut-direct-bytestream-manager.c
deleted file mode 100644
index 632c159..0000000
--- a/src/salut-direct-bytestream-manager.c
+++ /dev/null
@@ -1,516 +0,0 @@
-/*
- * salut-direct-bytestream-manager.c - Source for SalutDirectBytestreamManager
- * Copyright (C) 2008 Collabora Ltd.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
- */
-
-#include "salut-direct-bytestream-manager.h"
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include <errno.h>
-
-#include <gibber/gibber-xmpp-stanza.h>
-#include <gibber/gibber-namespaces.h>
-#include <gibber/gibber-xmpp-error.h>
-#include <gibber/gibber-iq-helper.h>
-#include <gibber/gibber-bytestream-direct.h>
-#include <gibber/gibber-util.h>
-
-#include "salut-im-manager.h"
-#include "salut-muc-manager.h"
-#include "salut-tubes-manager.h"
-#include "tube-iface.h"
-
-#define DEBUG_FLAG DEBUG_DIRECT_BYTESTREAM_MGR
-#include "debug.h"
-
-G_DEFINE_TYPE (SalutDirectBytestreamManager, salut_direct_bytestream_manager,
-    G_TYPE_OBJECT)
-
-/* properties */
-enum
-{
-  PROP_CONNECTION = 1,
-  LAST_PROPERTY
-};
-
-/* private structure */
-typedef struct _SalutDirectBytestreamManagerPrivate SalutDirectBytestreamManagerPrivate;
-
-struct _SalutDirectBytestreamManagerPrivate
-{
-  SalutConnection *connection;
-  SalutImManager *im_manager;
-  SalutXmppConnectionManager *xmpp_connection_manager;
-
-  /* gpointer obj -> guint listener_watch
-   * obj: object requesting to listen
-   * When used by stream tubes, the obj is the SalutStreamTube */
-  GHashTable *listeners;
-
-  gboolean dispose_has_run;
-};
-
-struct _listener_io_in_cb_data
-{
-  SalutDirectBytestreamManager *mgr;
-  SalutContact *contact;
-  SalutDirectBytestreamManagerNewConnectionFunc cb;
-  gpointer user_data;
-};
-
-typedef struct _SalutDirectBytestreamManagerListener
-    SalutDirectBytestreamManagerListener;
-struct _SalutDirectBytestreamManagerListener
-{
-  gpointer obj;
-  GIOChannel *listen_io_channel;
-  guint listen_io_channel_source_id;
-  struct _listener_io_in_cb_data *data;
-};
-
-#define SALUT_DIRECT_BYTESTREAM_MANAGER_GET_PRIVATE(obj) \
-    ((SalutDirectBytestreamManagerPrivate *) ((SalutDirectBytestreamManager *)obj)->priv)
-
-void
-listener_free (gpointer data)
-{
-  SalutDirectBytestreamManagerListener *listener = data;
-
-  g_assert (listener != NULL);
-
-  if (listener->listen_io_channel_source_id != 0)
-    {
-      GSource* source = g_main_context_find_source_by_id (NULL,
-          listener->listen_io_channel_source_id);
-      g_assert (source != NULL);
-      g_source_destroy (source);
-      listener->listen_io_channel_source_id = 0;
-    }
-
-  g_slice_free (struct _listener_io_in_cb_data, listener->data);
-  g_slice_free (SalutDirectBytestreamManagerListener, listener);
-}
-
-static void
-salut_direct_bytestream_manager_init (SalutDirectBytestreamManager *self)
-{
-  SalutDirectBytestreamManagerPrivate *priv = G_TYPE_INSTANCE_GET_PRIVATE (self,
-      SALUT_TYPE_DIRECT_BYTESTREAM_MANAGER, SalutDirectBytestreamManagerPrivate);
-
-  self->priv = priv;
-
-  priv->listeners = g_hash_table_new_full (NULL, NULL, NULL, listener_free);
-
-  priv->dispose_has_run = FALSE;
-}
-
-
-void
-salut_direct_bytestream_manager_dispose (GObject *object)
-{
-  SalutDirectBytestreamManager *self = SALUT_DIRECT_BYTESTREAM_MANAGER (object);
-  SalutDirectBytestreamManagerPrivate *priv = SALUT_DIRECT_BYTESTREAM_MANAGER_GET_PRIVATE
-      (self);
-
-  if (priv->dispose_has_run)
-    return;
-
-  priv->dispose_has_run = TRUE;
-
-  g_object_unref (priv->im_manager);
-  g_object_unref (priv->xmpp_connection_manager);
-
-  if (G_OBJECT_CLASS (salut_direct_bytestream_manager_parent_class)->dispose)
-    G_OBJECT_CLASS (salut_direct_bytestream_manager_parent_class)->dispose (object);
-}
-
-void
-salut_direct_bytestream_manager_finalize (GObject *object)
-{
-  SalutDirectBytestreamManager *self =
-    SALUT_DIRECT_BYTESTREAM_MANAGER (object);
-  SalutDirectBytestreamManagerPrivate *priv =
-    SALUT_DIRECT_BYTESTREAM_MANAGER_GET_PRIVATE (self);
-
-  g_hash_table_destroy (priv->listeners);
-
-  if (G_OBJECT_CLASS (salut_direct_bytestream_manager_parent_class)->finalize)
-    G_OBJECT_CLASS (salut_direct_bytestream_manager_parent_class)->finalize
-        (object);
-}
-
-static void
-salut_direct_bytestream_manager_get_property (GObject *object,
-                                              guint property_id,
-                                              GValue *value,
-                                              GParamSpec *pspec)
-{
-  SalutDirectBytestreamManager *self = SALUT_DIRECT_BYTESTREAM_MANAGER (object);
-  SalutDirectBytestreamManagerPrivate *priv = SALUT_DIRECT_BYTESTREAM_MANAGER_GET_PRIVATE (
-      self);
-
-  switch (property_id)
-    {
-      case PROP_CONNECTION:
-        g_value_set_object (value, priv->connection);
-        break;
-      default:
-        G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
-        break;
-    }
-}
-
-static void
-salut_direct_bytestream_manager_set_property (GObject *object,
-                                              guint property_id,
-                                              const GValue *value,
-                                              GParamSpec *pspec)
-{
-  SalutDirectBytestreamManager *self = SALUT_DIRECT_BYTESTREAM_MANAGER (object);
-  SalutDirectBytestreamManagerPrivate *priv = SALUT_DIRECT_BYTESTREAM_MANAGER_GET_PRIVATE (
-      self);
-
-  switch (property_id)
-    {
-      case PROP_CONNECTION:
-        priv->connection = g_value_get_object (value);
-        break;
-      default:
-        G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
-        break;
-    }
-}
-
-static GObject *
-salut_direct_bytestream_manager_constructor (GType type,
-                                             guint n_props,
-                                             GObjectConstructParam *props)
-{
-  GObject *obj;
-  SalutDirectBytestreamManager *self;
-  SalutDirectBytestreamManagerPrivate *priv;
-
-  obj = G_OBJECT_CLASS (salut_direct_bytestream_manager_parent_class)->
-           constructor (type, n_props, props);
-
-  self = SALUT_DIRECT_BYTESTREAM_MANAGER (obj);
-  priv = SALUT_DIRECT_BYTESTREAM_MANAGER_GET_PRIVATE (self);
-
-  g_assert (priv->connection != NULL);
-  g_object_get (priv->connection,
-      "im-manager", &(priv->im_manager),
-      "xmpp-connection-manager", &(priv->xmpp_connection_manager),
-      NULL);
-  g_assert (priv->im_manager != NULL);
-  g_assert (priv->xmpp_connection_manager != NULL);
-
-  return obj;
-}
-
-static void
-salut_direct_bytestream_manager_class_init (
-    SalutDirectBytestreamManagerClass *salut_direct_bytestream_manager_class)
-{
-  GObjectClass *object_class = G_OBJECT_CLASS
-      (salut_direct_bytestream_manager_class);
-  GParamSpec *param_spec;
-
-  g_type_class_add_private (salut_direct_bytestream_manager_class,
-      sizeof (SalutDirectBytestreamManagerPrivate));
-
-  object_class->constructor = salut_direct_bytestream_manager_constructor;
-  object_class->dispose = salut_direct_bytestream_manager_dispose;
-  object_class->finalize = salut_direct_bytestream_manager_finalize;
-
-  object_class->get_property = salut_direct_bytestream_manager_get_property;
-  object_class->set_property = salut_direct_bytestream_manager_set_property;
-
-  param_spec = g_param_spec_object (
-      "connection",
-      "SalutConnection object",
-      "Salut Connection that owns the connection for this bytestream channel",
-      SALUT_TYPE_CONNECTION,
-      G_PARAM_CONSTRUCT_ONLY |
-      G_PARAM_READWRITE |
-      G_PARAM_STATIC_NAME |
-      G_PARAM_STATIC_NICK |
-      G_PARAM_STATIC_BLURB);
-  g_object_class_install_property (object_class, PROP_CONNECTION, param_spec);
-}
-
-SalutDirectBytestreamManager *
-salut_direct_bytestream_manager_new (SalutConnection *conn)
-{
-  g_return_val_if_fail (SALUT_IS_CONNECTION (conn), NULL);
-
-  return g_object_new (
-      SALUT_TYPE_DIRECT_BYTESTREAM_MANAGER,
-      "connection", conn,
-      NULL);
-}
-
-static gboolean
-check_bytestream_direct_peer_addr (GibberBytestreamDirect *bytestream,
-                                   struct sockaddr *addr,
-                                   socklen_t addrlen,
-                                   gpointer user_data)
-{
-  SalutDirectBytestreamManager *self =
-    SALUT_DIRECT_BYTESTREAM_MANAGER (user_data);
-  SalutDirectBytestreamManagerPrivate *priv =
-    SALUT_DIRECT_BYTESTREAM_MANAGER_GET_PRIVATE (self);
-  TpHandleRepoIface *contact_repo = tp_base_connection_get_handles (
-      (TpBaseConnection *) priv->connection, TP_HANDLE_TYPE_CONTACT);
-  TpHandle handle;
-  SalutContactManager *contact_mgr;
-  SalutContact *contact;
-  gchar *peer;
-  gboolean result;
-
-  g_object_get (bytestream, "peer-id", &peer, NULL);
-  g_assert (peer != NULL);
-
-  handle = tp_handle_lookup (contact_repo, peer, NULL, NULL);
-  g_assert (handle != 0);
-  g_free (peer);
-
-  g_object_get (priv->connection, "contact-manager", &contact_mgr, NULL);
-  g_assert (contact_mgr != NULL);
-
-  contact = salut_contact_manager_get_contact (contact_mgr, handle);
-  g_object_unref (contact_mgr);
-  if (contact == NULL)
-    return FALSE;
-
-  result = salut_contact_has_address (contact, addr, addrlen);
-  g_object_unref (contact);
-
-  return result;
-}
-
-
-/* callback when receiving a connection from the remote CM */
-static gboolean
-listener_io_in_cb (GIOChannel *source,
-                   GIOCondition condition,
-                   gpointer user_data)
-{
-  struct _listener_io_in_cb_data *data = user_data;
-  SalutDirectBytestreamManagerPrivate *priv;
-  GibberBytestreamIface *bytestream;
-  int listen_fd;
-
-  listen_fd = g_io_channel_unix_get_fd (source);
-
-  priv = SALUT_DIRECT_BYTESTREAM_MANAGER_GET_PRIVATE (data->mgr);
-
-  bytestream = g_object_new (GIBBER_TYPE_BYTESTREAM_DIRECT,
-      "state", GIBBER_BYTESTREAM_STATE_LOCAL_PENDING,
-      "self-id", priv->connection->name,
-      "peer-id", data->contact->name,
-      NULL);
-
-  gibber_bytestream_direct_set_check_addr_func (
-      GIBBER_BYTESTREAM_DIRECT (bytestream), check_bytestream_direct_peer_addr,
-      data->mgr);
-
-  /* call this before accepting the socket, in order to let the opportunity to
-   * register a callback for the "new-connection" bytestream's signal. */
-  data->cb (bytestream, data->user_data);
-
-  //gibber_bytestream_direct_accept_socket (bytestream, listen_fd);
-
-  return TRUE;
-}
-
-
-/**
- * salut_direct_bytestream_manager_listen:
- * @self: the direct bytestream manager
- * @contact: the contact allowed to connect
- * @new_connection_cb: callback when a new connection comes
- * @obj: opaquer pointer of the object requesting to listen given to the
- * callback
- *
- * Listen on a random TCP port for incoming connections. Only connections from
- * the contact given as parameter will be accepted. A GibberBystreamDirect
- * object is created for each successful connection. A callback is called
- * each time a new GibberBystreamDirect object is created before it actually
- * connects to let the opportunity to the caller to connect on a bytestream
- * signal.
- *
- * Returns: TCP port number
- */
-int
-salut_direct_bytestream_manager_listen (SalutDirectBytestreamManager *self,
-    SalutContact *contact,
-    SalutDirectBytestreamManagerNewConnectionFunc new_connection_cb,
-    gpointer obj)
-{
-  SalutDirectBytestreamManagerPrivate *priv;
-  priv = SALUT_DIRECT_BYTESTREAM_MANAGER_GET_PRIVATE (self);
-  struct _listener_io_in_cb_data *data;
-  SalutDirectBytestreamManagerListener *listener;
-  int port;
-  int fd = -1, ret, yes = 1;
-  struct addrinfo req, *ans = NULL;
-  struct sockaddr *addr;
-  struct sockaddr_in addr4;
-  struct sockaddr_in6 addr6;
-  socklen_t len;
-  #define BACKLOG 1
-
-  memset (&req, 0, sizeof (req));
-  req.ai_flags = AI_PASSIVE;
-  req.ai_family = AF_UNSPEC;
-  req.ai_socktype = SOCK_STREAM;
-  req.ai_protocol = IPPROTO_TCP;
-
-  ret = getaddrinfo (NULL, "0", &req, &ans);
-  if (ret != 0)
-    {
-      DEBUG ("getaddrinfo failed: %s", gai_strerror (ret));
-      goto error;
-    }
-
-  fd = socket (ans->ai_family, ans->ai_socktype, ans->ai_protocol);
-  if (fd == -1)
-    {
-      DEBUG ("socket failed: %s", g_strerror (errno));
-      goto error;
-    }
-
-  ret = setsockopt (fd, SOL_SOCKET, SO_REUSEADDR, &yes, sizeof (int));
-  if (ret == -1)
-    {
-      DEBUG ("setsockopt failed: %s", g_strerror (errno));
-      goto error;
-    }
-
-  ret = bind (fd, ans->ai_addr, ans->ai_addrlen);
-  if (ret  < 0)
-    {
-      DEBUG ("bind failed: %s", g_strerror (errno));
-      goto error;
-    }
-
-  if (ans->ai_family == AF_INET)
-    {
-      len = sizeof (struct sockaddr_in);
-      addr = (struct sockaddr *) &addr4;
-    }
-  else
-    {
-      len = sizeof (struct sockaddr_in6);
-      addr = (struct sockaddr *) &addr6;
-    }
-
-  if (getsockname (fd, addr, &len) == -1)
-  {
-    DEBUG ("getsockname failed: %s", g_strerror (errno));
-    goto error;
-  }
-
-  if (ans->ai_family == AF_INET)
-    {
-      port = ntohs (addr4.sin_port);
-    }
-  else
-    {
-      port = ntohs (addr6.sin6_port);
-    }
-
-  ret = listen (fd, BACKLOG);
-  if (ret == -1)
-    {
-      DEBUG ("listen failed: %s", g_strerror (errno));
-      goto error;
-    }
-
-  DEBUG ("listen on port %d", port);
-
-  data = g_slice_new0 (struct _listener_io_in_cb_data);
-  data->mgr = self;
-  data->contact = contact,
-  data->cb = new_connection_cb;
-  data->user_data = obj;
-
-  listener = g_slice_new0 (SalutDirectBytestreamManagerListener);
-  listener->obj = obj;
-  listener->data = data;
-
-  listener->listen_io_channel = g_io_channel_unix_new (fd);
-  g_io_channel_set_close_on_unref (listener->listen_io_channel, TRUE);
-  listener->listen_io_channel_source_id = g_io_add_watch
-      (listener->listen_io_channel, G_IO_IN, listener_io_in_cb, data);
-
-  g_hash_table_insert (priv->listeners, obj, listener);
-
-  freeaddrinfo (ans);
-  return port;
-
-error:
-  if (fd > 0)
-    close (fd);
-
-  if (ans != NULL)
-    freeaddrinfo (ans);
-  return -1;
-}
-
-/**
- * salut_direct_bytestream_manager_stop_listen:
- * @self: the direct bytestream manager
- * @obj: opaquer pointer of the object which requested to listen
- *
- * Stop to listen on a TCP port after a call to
- * salut_direct_bytestream_manager_listen.
- */
-void salut_direct_bytestream_manager_stop_listen (
-    SalutDirectBytestreamManager *self, gpointer obj)
-{
-  SalutDirectBytestreamManagerPrivate *priv;
-
-  priv = SALUT_DIRECT_BYTESTREAM_MANAGER_GET_PRIVATE (self);
-
-  g_hash_table_remove (priv->listeners, obj);
-}
-
-GibberBytestreamIface *
-salut_direct_bytestream_manager_new_stream (SalutDirectBytestreamManager *self,
-                                            SalutContact *contact,
-                                            int portnum)
-{
-  GibberBytestreamIface *bytestream;
-  SalutDirectBytestreamManagerPrivate *priv;
-
-  priv = SALUT_DIRECT_BYTESTREAM_MANAGER_GET_PRIVATE (self);
-
-  bytestream = g_object_new (GIBBER_TYPE_BYTESTREAM_DIRECT,
-      "addresses", salut_contact_get_addresses (contact),
-      "state", GIBBER_BYTESTREAM_STATE_LOCAL_PENDING,
-      "peer-id", contact->name,
-      "port", portnum,
-      NULL);
-
-  g_assert (bytestream != NULL);
-
-  return bytestream;
-}
diff --git a/src/salut-direct-bytestream-manager.h b/src/salut-direct-bytestream-manager.h
deleted file mode 100644
index e969343..0000000
--- a/src/salut-direct-bytestream-manager.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * salut-direct-bytestream-manager.h - Header for SalutDirectBytestreamManager
- * Copyright (C) 2008 Collabora Ltd.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
- */
-
-#ifndef __SALUT_DIRECT_BYTESTREAM_MANAGER_H__
-#define __SALUT_DIRECT_BYTESTREAM_MANAGER_H__
-
-#include <glib-object.h>
-#include "salut-xmpp-connection-manager.h"
-#include "salut-contact.h"
-#include "tube-iface.h"
-
-#include <gibber/gibber-linklocal-transport.h>
-#include <gibber/gibber-bytestream-iface.h>
-
-G_BEGIN_DECLS
-
-typedef struct _SalutDirectBytestreamManager SalutDirectBytestreamManager;
-typedef struct _SalutDirectBytestreamManagerClass SalutDirectBytestreamManagerClass;
-
-typedef void (* SalutDirectBytestreamManagerNewConnectionFunc) (
-    GibberBytestreamIface *bytestream, gpointer user_data);
-
-struct _SalutDirectBytestreamManagerClass {
-    GObjectClass parent_class;
-};
-
-struct _SalutDirectBytestreamManager {
-    GObject parent;
-
-    gpointer priv;
-};
-
-
-GType salut_direct_bytestream_manager_get_type (void);
-
-/* TYPE MACROS */
-#define SALUT_TYPE_DIRECT_BYTESTREAM_MANAGER \
-  (salut_direct_bytestream_manager_get_type ())
-#define SALUT_DIRECT_BYTESTREAM_MANAGER(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST((obj), SALUT_TYPE_DIRECT_BYTESTREAM_MANAGER, \
-                              SalutDirectBytestreamManager))
-#define SALUT_DIRECT_BYTESTREAM_MANAGER_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST((klass), SALUT_TYPE_DIRECT_BYTESTREAM_MANAGER, \
-                           SalutDirectBytestreamManagerClass))
-#define SALUT_IS_DIRECT_BYTESTREAM_MANAGER(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE((obj), SALUT_TYPE_DIRECT_BYTESTREAM_MANAGER))
-#define SALUT_IS_DIRECT_BYTESTREAM_MANAGER_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_TYPE((klass), SALUT_TYPE_DIRECT_BYTESTREAM_MANAGER))
-#define SALUT_DIRECT_BYTESTREAM_MANAGER_GET_CLASS(obj) \
-  (G_TYPE_INSTANCE_GET_CLASS ((obj), SALUT_TYPE_DIRECT_BYTESTREAM_MANAGER, \
-                              SalutDirectBytestreamManagerClass))
-
-SalutDirectBytestreamManager *
-salut_direct_bytestream_manager_new (SalutConnection *connection);
-
-int salut_direct_bytestream_manager_listen (SalutDirectBytestreamManager *self,
-    SalutContact *contact,
-    SalutDirectBytestreamManagerNewConnectionFunc new_connection_cb,
-    gpointer obj);
-
-void salut_direct_bytestream_manager_stop_listen (
-    SalutDirectBytestreamManager *self, gpointer obj);
-
-/* To be used on the CM-receptor side, to make a new connection */
-GibberBytestreamIface * salut_direct_bytestream_manager_new_stream (
-    SalutDirectBytestreamManager *self, SalutContact *contact, int portnum);
-
-#endif /* #ifndef __SALUT_DIRECT_BYTESTREAM_MANAGER_H__*/
-- 
1.5.6.5




More information about the Telepathy-commits mailing list