[telepathy-gabble/master] use wocky-pep-service from Wocky instead of our internal copy

Guillaume Desmottes guillaume.desmottes at collabora.co.uk
Fri Sep 25 04:50:25 PDT 2009


---
 src/Makefile.am         |    2 -
 src/connection.h        |    2 +-
 src/wocky-pep-service.c |  362 -----------------------------------------------
 src/wocky-pep-service.h |   80 -----------
 4 files changed, 1 insertions(+), 445 deletions(-)
 delete mode 100644 src/wocky-pep-service.c
 delete mode 100644 src/wocky-pep-service.h

diff --git a/src/Makefile.am b/src/Makefile.am
index 23ebcb9..83363cc 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -106,8 +106,6 @@ libgabble_convenience_la_SOURCES = \
     olpc-gadget-manager.c \
     olpc-view.h \
     olpc-view.c \
-    wocky-pep-service.h \
-    wocky-pep-service.c \
     presence.h \
     presence.c \
     presence-cache.h \
diff --git a/src/connection.h b/src/connection.h
index a1c76a5..73006d4 100644
--- a/src/connection.h
+++ b/src/connection.h
@@ -30,7 +30,7 @@
 #include <telepathy-glib/dbus-properties-mixin.h>
 
 #include <wocky/wocky-session.h>
-#include "wocky-pep-service.h"
+#include <wocky/wocky-pep-service.h>
 
 #include "capabilities.h"
 #include "error.h"
diff --git a/src/wocky-pep-service.c b/src/wocky-pep-service.c
deleted file mode 100644
index 0654327..0000000
--- a/src/wocky-pep-service.c
+++ /dev/null
@@ -1,362 +0,0 @@
-/*
- * wocky-pep-service.c - WockyPepService
- * Copyright (C) 2009 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 "wocky-pep-service.h"
-
-#include <wocky/wocky-porter.h>
-#include <wocky/wocky-utils.h>
-#include <wocky/wocky-namespaces.h>
-
-#include "gabble-signals-marshal.h"
-
-G_DEFINE_TYPE (WockyPepService, wocky_pep_service, G_TYPE_OBJECT)
-
-/* signal enum */
-enum
-{
-  CHANGED,
-  LAST_SIGNAL,
-};
-
-static guint signals[LAST_SIGNAL] = {0};
-
-enum
-{
-  PROP_NODE = 1,
-  PROP_SUBSCRIBE,
-};
-
-/* private structure */
-typedef struct _WockyPepServicePrivate WockyPepServicePrivate;
-
-struct _WockyPepServicePrivate
-{
-  WockySession *session;
-  WockyPorter *porter;
-  WockyContactFactory *contact_factory;
-
-  gchar *node;
-  gboolean subscribe;
-  guint handler_id;
-
-  gboolean dispose_has_run;
-};
-
-#define WOCKY_PEP_SERVICE_GET_PRIVATE(o)  \
-    (G_TYPE_INSTANCE_GET_PRIVATE ((o), WOCKY_TYPE_PEP_SERVICE, \
-    WockyPepServicePrivate))
-
-static void
-wocky_pep_service_init (WockyPepService *obj)
-{
-  /*
-  WockyPepService *self = WOCKY_PEP_SERVICE (obj);
-  WockyPepServicePrivate *priv = WOCKY_PEP_SERVICE_GET_PRIVATE (self);
-  */
-}
-
-static void
-wocky_pep_service_set_property (GObject *object,
-    guint property_id,
-    const GValue *value,
-    GParamSpec *pspec)
-{
-  WockyPepService *self = WOCKY_PEP_SERVICE (object);
-  WockyPepServicePrivate *priv = WOCKY_PEP_SERVICE_GET_PRIVATE (self);
-
-  switch (property_id)
-    {
-      case PROP_NODE:
-        priv->node = g_value_dup_string (value);
-        break;
-      case PROP_SUBSCRIBE:
-        priv->subscribe = g_value_get_boolean (value);
-        break;
-      default:
-        G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
-        break;
-    }
-}
-
-static void
-wocky_pep_service_get_property (GObject *object,
-    guint property_id,
-    GValue *value,
-    GParamSpec *pspec)
-{
-  WockyPepService *self = WOCKY_PEP_SERVICE (object);
-  WockyPepServicePrivate *priv = WOCKY_PEP_SERVICE_GET_PRIVATE (self);
-
-  switch (property_id)
-    {
-      case PROP_NODE:
-        g_value_set_string (value, priv->node);
-        break;
-      case PROP_SUBSCRIBE:
-        g_value_set_boolean (value, priv->subscribe);
-        break;
-      default:
-        G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
-        break;
-    }
-}
-
-
-static void
-wocky_pep_service_dispose (GObject *object)
-{
-  WockyPepService *self = WOCKY_PEP_SERVICE (object);
-  WockyPepServicePrivate *priv = WOCKY_PEP_SERVICE_GET_PRIVATE (self);
-
-  if (priv->dispose_has_run)
-    return;
-
-  priv->dispose_has_run = TRUE;
-
-  if (priv->porter != NULL)
-    {
-      g_assert (priv->handler_id != 0);
-      wocky_porter_unregister_handler (priv->porter, priv->handler_id);
-      g_object_unref (priv->porter);
-    }
-
-  if (priv->contact_factory != NULL)
-    g_object_unref (priv->contact_factory);
-
-  if (G_OBJECT_CLASS (wocky_pep_service_parent_class)->dispose)
-    G_OBJECT_CLASS (wocky_pep_service_parent_class)->dispose (object);
-}
-
-static void
-wocky_pep_service_finalize (GObject *object)
-{
-  WockyPepService *self = WOCKY_PEP_SERVICE (object);
-  WockyPepServicePrivate *priv = WOCKY_PEP_SERVICE_GET_PRIVATE (self);
-
-  g_free (priv->node);
-
-  G_OBJECT_CLASS (wocky_pep_service_parent_class)->finalize (object);
-}
-
-static void
-wocky_pep_service_constructed (GObject *object)
-{
-  WockyPepService *self = WOCKY_PEP_SERVICE (object);
-  WockyPepServicePrivate *priv = WOCKY_PEP_SERVICE_GET_PRIVATE (self);
-
-  g_assert (priv->node != NULL);
-}
-
-static void
-wocky_pep_service_class_init (WockyPepServiceClass *wocky_pep_service_class)
-{
-  GObjectClass *object_class = G_OBJECT_CLASS (wocky_pep_service_class);
-  GParamSpec *param_spec;
-
-  g_type_class_add_private (wocky_pep_service_class,
-      sizeof (WockyPepServicePrivate));
-
-  object_class->set_property = wocky_pep_service_set_property;
-  object_class->get_property = wocky_pep_service_get_property;
-  object_class->dispose = wocky_pep_service_dispose;
-  object_class->finalize = wocky_pep_service_finalize;
-  object_class->constructed = wocky_pep_service_constructed;
-
-  param_spec = g_param_spec_string ("node", "node",
-      "namespace of the pep node",
-      NULL,
-      G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
-  g_object_class_install_property (object_class, PROP_NODE, param_spec);
-
-  param_spec = g_param_spec_boolean ("subscribe", "subscribe",
-      "if TRUE, Wocky will subscribe to the notifications of the node",
-      FALSE,
-      G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
-  g_object_class_install_property (object_class, PROP_SUBSCRIBE, param_spec);
-
-  signals[CHANGED] = g_signal_new ("changed",
-      G_OBJECT_CLASS_TYPE (wocky_pep_service_class),
-      G_SIGNAL_RUN_LAST | G_SIGNAL_DETAILED,
-      0,
-      NULL, NULL,
-      gabble_marshal_VOID__OBJECT_OBJECT,
-      G_TYPE_NONE, 2, G_TYPE_OBJECT, G_TYPE_OBJECT);
-}
-
-WockyPepService *
-wocky_pep_service_new (const gchar *node,
-    gboolean subscribe)
-{
-  return g_object_new (WOCKY_TYPE_PEP_SERVICE,
-      "node", node,
-      "subscribe", subscribe,
-      NULL);
-}
-
-static gboolean
-msg_event_cb (WockyPorter *porter,
-    WockyXmppStanza *stanza,
-    gpointer user_data)
-{
-  WockyPepService *self = WOCKY_PEP_SERVICE (user_data);
-  WockyPepServicePrivate *priv = WOCKY_PEP_SERVICE_GET_PRIVATE (self);
-  const gchar *from;
-  WockyBareContact *contact;
-
-  from = wocky_xmpp_node_get_attribute (stanza->node, "from");
-  if (from == NULL)
-    return FALSE;
-
-  contact = wocky_contact_factory_ensure_bare_contact (
-      priv->contact_factory, from);
-
-  g_signal_emit (G_OBJECT (self), signals[CHANGED], 0, contact, stanza);
-
-  g_object_unref (contact);
-  return TRUE;
-}
-
-void
-wocky_pep_service_start (WockyPepService *self,
-    WockySession *session)
-{
-  WockyPepServicePrivate *priv = WOCKY_PEP_SERVICE_GET_PRIVATE (self);
-
-  g_assert (priv->session == NULL);
-  priv->session = session;
-
-  priv->porter = wocky_session_get_porter (priv->session);
-  g_object_ref (priv->porter);
-
-  priv->contact_factory = wocky_session_get_contact_factory (priv->session);
-  g_object_ref (priv->contact_factory);
-
-  /* Register event handler */
-  priv->handler_id = wocky_porter_register_handler (priv->porter,
-      WOCKY_STANZA_TYPE_MESSAGE, WOCKY_STANZA_SUB_TYPE_NONE, NULL,
-      WOCKY_PORTER_HANDLER_PRIORITY_MAX,
-      msg_event_cb, self,
-      WOCKY_NODE, "event",
-        WOCKY_NODE_XMLNS, WOCKY_XMPP_NS_PUBSUB_EVENT,
-        WOCKY_NODE, "items",
-        WOCKY_NODE_ATTRIBUTE, "node", priv->node,
-        WOCKY_NODE_END,
-      WOCKY_NODE_END,
-      WOCKY_STANZA_END);
-
-  /* TODO: subscribe to node if needed */
-}
-
-static void
-send_query_cb (GObject *source,
-    GAsyncResult *res,
-    gpointer user_data)
-{
-  GSimpleAsyncResult *result = G_SIMPLE_ASYNC_RESULT (user_data);
-  GError *error = NULL;
-  WockyXmppStanza *reply;
-
-  reply = wocky_porter_send_iq_finish (WOCKY_PORTER (source), res, &error);
-  if (reply == NULL)
-    {
-      g_simple_async_result_set_from_error (result, error);
-      g_error_free (error);
-    }
-
-  g_simple_async_result_set_op_res_gpointer (result, reply, NULL);
-  g_simple_async_result_complete (result);
-  g_object_unref (result);
-}
-
-void
-wocky_pep_service_get_async (WockyPepService *self,
-    WockyBareContact *contact,
-    GCancellable *cancellable,
-    GAsyncReadyCallback callback,
-    gpointer user_data)
-{
-  WockyPepServicePrivate *priv = WOCKY_PEP_SERVICE_GET_PRIVATE (self);
-  WockyXmppStanza *msg;
-  GSimpleAsyncResult *result;
-  const gchar *jid;
-
-  if (priv->porter == NULL)
-    {
-      g_simple_async_report_error_in_idle (G_OBJECT (self), callback,
-          user_data, WOCKY_PORTER_ERROR, WOCKY_PORTER_ERROR_NOT_STARTED,
-          "Service has not been started");
-      return;
-    }
-
-  jid = wocky_bare_contact_get_jid (contact);
-
-  msg = wocky_xmpp_stanza_build (
-      WOCKY_STANZA_TYPE_IQ, WOCKY_STANZA_SUB_TYPE_GET,
-      NULL, jid,
-      WOCKY_NODE, "pubsub",
-        WOCKY_NODE_XMLNS, WOCKY_XMPP_NS_PUBSUB,
-        WOCKY_NODE, "items",
-          WOCKY_NODE_ATTRIBUTE, "node", priv->node,
-        WOCKY_NODE_END,
-      WOCKY_NODE_END, WOCKY_STANZA_END);
-
-  result = g_simple_async_result_new (G_OBJECT (self),
-    callback, user_data, wocky_pep_service_get_finish);
-
-  wocky_porter_send_iq_async (priv->porter, msg, cancellable, send_query_cb,
-      result);
-
-  g_object_unref (msg);
-}
-
-WockyXmppStanza *
-wocky_pep_service_get_finish (WockyPepService *self,
-    GAsyncResult *result,
-    GError **error)
-{
-  if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (result),
-      error))
-    return NULL;
-
-  g_return_val_if_fail (g_simple_async_result_is_valid (result,
-    G_OBJECT (self), wocky_pep_service_get_finish), NULL);
-
-  return g_simple_async_result_get_op_res_gpointer (
-      G_SIMPLE_ASYNC_RESULT (result));
-}
-
-WockyXmppStanza *
-wocky_pep_service_make_publish_stanza (WockyPepService *self,
-    WockyXmppNode **item)
-{
-  WockyPepServicePrivate *priv = WOCKY_PEP_SERVICE_GET_PRIVATE (self);
-
-  return wocky_xmpp_stanza_build (
-      WOCKY_STANZA_TYPE_IQ, WOCKY_STANZA_SUB_TYPE_SET,
-      NULL, NULL,
-      WOCKY_NODE, "pubsub",
-        WOCKY_NODE_XMLNS, WOCKY_XMPP_NS_PUBSUB,
-        WOCKY_NODE, "publish",
-          WOCKY_NODE_ATTRIBUTE, "node", priv->node,
-          WOCKY_NODE, "item",
-          WOCKY_NODE_ASSIGN_TO, item,
-          WOCKY_NODE_END,
-        WOCKY_NODE_END,
-      WOCKY_NODE_END, WOCKY_STANZA_END);
-}
diff --git a/src/wocky-pep-service.h b/src/wocky-pep-service.h
deleted file mode 100644
index 5287a36..0000000
--- a/src/wocky-pep-service.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * wocky-pep-service.h - Header of WockyPepService
- * Copyright (C) 2009 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 __WOCKY_PEP_SERVICE_H__
-#define __WOCKY_PEP_SERVICE_H__
-
-#include <glib-object.h>
-#include <gio/gio.h>
-#include <wocky/wocky-xmpp-stanza.h>
-#include <wocky/wocky-session.h>
-
-G_BEGIN_DECLS
-
-typedef struct _WockyPepService WockyPepService;
-typedef struct _WockyPepServiceClass WockyPepServiceClass;
-
-struct _WockyPepServiceClass {
-  GObjectClass parent_class;
-};
-
-struct _WockyPepService {
-  GObject parent;
-};
-
-GType wocky_pep_service_get_type (void);
-
-#define WOCKY_TYPE_PEP_SERVICE \
-  (wocky_pep_service_get_type ())
-#define WOCKY_PEP_SERVICE(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST((obj), WOCKY_TYPE_PEP_SERVICE, \
-   WockyPepService))
-#define WOCKY_PEP_SERVICE_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST((klass), WOCKY_TYPE_PEP_SERVICE, \
-   WockyPepServiceClass))
-#define WOCKY_IS_PEP_SERVICE(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE((obj), WOCKY_TYPE_PEP_SERVICE))
-#define WOCKY_IS_PEP_SERVICE_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_TYPE((klass), WOCKY_TYPE_PEP_SERVICE))
-#define WOCKY_PEP_SERVICE_GET_CLASS(obj) \
-  (G_TYPE_INSTANCE_GET_CLASS ((obj), WOCKY_TYPE_PEP_SERVICE, \
-   WockyPepServiceClass))
-
-WockyPepService * wocky_pep_service_new (const gchar *node,
-    gboolean subscribe);
-
-void wocky_pep_service_start (WockyPepService *pep_service,
-    WockySession *session);
-
-void wocky_pep_service_get_async (WockyPepService *pep,
-    WockyBareContact *contact,
-    GCancellable *cancellable,
-    GAsyncReadyCallback callback,
-    gpointer user_data);
-
-WockyXmppStanza * wocky_pep_service_get_finish (WockyPepService *pep,
-    GAsyncResult *result,
-    GError **error);
-
-WockyXmppStanza * wocky_pep_service_make_publish_stanza (WockyPepService *pep,
-    WockyXmppNode **item);
-
-G_END_DECLS
-
-#endif /* __WOCKY_PEP_SERVICE_H__ */
-- 
1.5.6.5



More information about the telepathy-commits mailing list