aboutsummaryrefslogtreecommitdiffstats
path: root/libempathy
diff options
context:
space:
mode:
authorGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2010-06-19 00:11:58 +0800
committerGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2010-06-19 00:11:58 +0800
commitbfb75bb92f7e1a4aa93a9e144b781faf03df93eb (patch)
tree700eb3afadb8e17d8035a92ee0e30ab018adb495 /libempathy
parent13699e023a50f88055f24c0230c28a7163c8356d (diff)
parent247ea7a25d8495d2f1cd2b6ac2bf6fe582a3c5fb (diff)
downloadgsoc2013-empathy-bfb75bb92f7e1a4aa93a9e144b781faf03df93eb.tar
gsoc2013-empathy-bfb75bb92f7e1a4aa93a9e144b781faf03df93eb.tar.gz
gsoc2013-empathy-bfb75bb92f7e1a4aa93a9e144b781faf03df93eb.tar.bz2
gsoc2013-empathy-bfb75bb92f7e1a4aa93a9e144b781faf03df93eb.tar.lz
gsoc2013-empathy-bfb75bb92f7e1a4aa93a9e144b781faf03df93eb.tar.xz
gsoc2013-empathy-bfb75bb92f7e1a4aa93a9e144b781faf03df93eb.tar.zst
gsoc2013-empathy-bfb75bb92f7e1a4aa93a9e144b781faf03df93eb.zip
Merge branch 'approvers-redone-599158'
Diffstat (limited to 'libempathy')
-rw-r--r--libempathy/empathy-dispatch-operation.c50
-rw-r--r--libempathy/empathy-dispatch-operation.h4
-rw-r--r--libempathy/empathy-dispatcher.c53
-rw-r--r--libempathy/empathy-tp-chat.c5
-rw-r--r--libempathy/empathy-tp-chat.h3
5 files changed, 10 insertions, 105 deletions
diff --git a/libempathy/empathy-dispatch-operation.c b/libempathy/empathy-dispatch-operation.c
index 78438125b..68777a50e 100644
--- a/libempathy/empathy-dispatch-operation.c
+++ b/libempathy/empathy-dispatch-operation.c
@@ -51,8 +51,6 @@ enum
{
/* Ready for dispatching */
READY,
- /* Approved by an approver, can only happens on incoming operations */
- APPROVED,
/* Claimed by a handler */
CLAIMED,
/* Error, channel went away, inspecting it failed etc */
@@ -87,7 +85,6 @@ struct _EmpathyDispatchOperationPriv
EmpathyDispatchOperationState status;
gboolean incoming;
gint64 user_action_time;
- gboolean approved;
gulong invalidated_handler;
gulong ready_handler;
};
@@ -295,14 +292,6 @@ empathy_dispatch_operation_class_init (
g_cclosure_marshal_VOID__VOID,
G_TYPE_NONE, 0);
- signals[APPROVED] = g_signal_new ("approved",
- G_OBJECT_CLASS_TYPE(empathy_dispatch_operation_class),
- G_SIGNAL_RUN_LAST,
- 0,
- NULL, NULL,
- g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE, 0);
-
signals[CLAIMED] = g_signal_new ("claimed",
G_OBJECT_CLASS_TYPE(empathy_dispatch_operation_class),
G_SIGNAL_RUN_LAST,
@@ -567,47 +556,10 @@ empathy_dispatch_operation_start (EmpathyDispatchOperation *operation)
g_return_if_fail (
priv->status == EMPATHY_DISPATCHER_OPERATION_STATE_PENDING);
- if (priv->incoming && !priv->approved)
- empathy_dispatch_operation_set_status (operation,
- EMPATHY_DISPATCHER_OPERATION_STATE_APPROVING);
- else
- empathy_dispatch_operation_set_status (operation,
+ empathy_dispatch_operation_set_status (operation,
EMPATHY_DISPATCHER_OPERATION_STATE_DISPATCHING);
}
-void
-empathy_dispatch_operation_approve (EmpathyDispatchOperation *operation)
-{
- EmpathyDispatchOperationPriv *priv;
-
- g_return_if_fail (EMPATHY_IS_DISPATCH_OPERATION (operation));
-
- priv = GET_PRIV (operation);
-
- if (priv->status == EMPATHY_DISPATCHER_OPERATION_STATE_APPROVING)
- {
- DEBUG ("Approving operation %s",
- empathy_dispatch_operation_get_object_path (operation));
-
- empathy_dispatch_operation_set_status (operation,
- EMPATHY_DISPATCHER_OPERATION_STATE_DISPATCHING);
-
- g_signal_emit (operation, signals[APPROVED], 0);
- }
- else if (priv->status < EMPATHY_DISPATCHER_OPERATION_STATE_APPROVING)
- {
- DEBUG ("Pre-approving operation %s",
- empathy_dispatch_operation_get_object_path (operation));
- priv->approved = TRUE;
- }
- else
- {
- DEBUG (
- "Ignoring approval for %s as it's already past the approval stage",
- empathy_dispatch_operation_get_object_path (operation));
- }
-}
-
/* Returns whether or not the operation was successfully claimed */
gboolean
empathy_dispatch_operation_claim (EmpathyDispatchOperation *operation)
diff --git a/libempathy/empathy-dispatch-operation.h b/libempathy/empathy-dispatch-operation.h
index f199be521..b7614234f 100644
--- a/libempathy/empathy-dispatch-operation.h
+++ b/libempathy/empathy-dispatch-operation.h
@@ -45,8 +45,6 @@ typedef enum {
EMPATHY_DISPATCHER_OPERATION_STATE_PREPARING = 0,
/* Information gathered ready to be dispatched */
EMPATHY_DISPATCHER_OPERATION_STATE_PENDING,
- /* Send to approving bits for approval */
- EMPATHY_DISPATCHER_OPERATION_STATE_APPROVING,
/* Send to handlers for dispatching */
EMPATHY_DISPATCHER_OPERATION_STATE_DISPATCHING,
/* somebody claimed the channel */
@@ -89,8 +87,6 @@ EmpathyDispatchOperation *empathy_dispatch_operation_new_with_wrapper (
* channels and DISPATCHING for outgoing ones */
void empathy_dispatch_operation_start (EmpathyDispatchOperation *operation);
-void empathy_dispatch_operation_approve (EmpathyDispatchOperation *operation);
-
/* Returns whether or not the operation was successfully claimed */
gboolean empathy_dispatch_operation_claim (EmpathyDispatchOperation *operation);
diff --git a/libempathy/empathy-dispatcher.c b/libempathy/empathy-dispatcher.c
index c8943c9df..ce234e452 100644
--- a/libempathy/empathy-dispatcher.c
+++ b/libempathy/empathy-dispatcher.c
@@ -110,7 +110,6 @@ enum
enum
{
OBSERVE,
- APPROVE,
DISPATCH,
LAST_SIGNAL
};
@@ -431,16 +430,6 @@ dispatcher_channel_invalidated_cb (TpProxy *proxy,
}
static void
-dispatch_operation_approved_cb (EmpathyDispatchOperation *operation,
- EmpathyDispatcher *self)
-{
- g_assert (empathy_dispatch_operation_is_incoming (operation));
- DEBUG ("Send of for dispatching: %s",
- empathy_dispatch_operation_get_object_path (operation));
- g_signal_emit (self, signals[DISPATCH], 0, operation);
-}
-
-static void
dispatch_operation_claimed_cb (EmpathyDispatchOperation *operation,
EmpathyDispatcher *self)
{
@@ -480,9 +469,6 @@ dispatch_operation_ready_cb (EmpathyDispatchOperation *operation,
ConnectionData *cd;
EmpathyDispatchOperationState status;
- g_signal_connect (operation, "approved",
- G_CALLBACK (dispatch_operation_approved_cb), self);
-
g_signal_connect (operation, "claimed",
G_CALLBACK (dispatch_operation_claimed_cb), self);
@@ -508,19 +494,10 @@ dispatch_operation_ready_cb (EmpathyDispatchOperation *operation,
if (status == EMPATHY_DISPATCHER_OPERATION_STATE_CLAIMED)
return;
- if (status == EMPATHY_DISPATCHER_OPERATION_STATE_APPROVING)
- {
- DEBUG ("Send to approvers: %s",
- empathy_dispatch_operation_get_object_path (operation));
- g_signal_emit (self, signals[APPROVE], 0, operation);
- }
- else
- {
- g_assert (status == EMPATHY_DISPATCHER_OPERATION_STATE_DISPATCHING);
- DEBUG ("Send of for dispatching: %s",
- empathy_dispatch_operation_get_object_path (operation));
- g_signal_emit (self, signals[DISPATCH], 0, operation);
- }
+ g_assert (status == EMPATHY_DISPATCHER_OPERATION_STATE_DISPATCHING);
+ DEBUG ("Send of for dispatching: %s",
+ empathy_dispatch_operation_get_object_path (operation));
+ g_signal_emit (self, signals[DISPATCH], 0, operation);
g_object_unref (self);
}
@@ -608,15 +585,6 @@ dispatcher_connection_new_channel (EmpathyDispatcher *self,
DEBUG ("%s channel of type %s on %s", incoming ? "incoming" : "outgoing",
channel_type, object_path);
- if ((operation = g_hash_table_lookup (cd->dispatching_channels,
- object_path)) != NULL)
- {
- /* This operation was already being dispatched, assume we got the channel
- * again because something asked for it and approve it right away */
- empathy_dispatch_operation_approve (operation);
- return;
- }
-
if (properties == NULL)
channel = tp_channel_new (connection, object_path, channel_type,
handle_type, handle, NULL);
@@ -680,9 +648,6 @@ dispatcher_connection_new_channel (EmpathyDispatcher *self,
}
}
- if (g_hash_table_lookup (cd->dispatched_channels, object_path) != NULL)
- empathy_dispatch_operation_approve (operation);
-
dispatcher_start_dispatching (dispatcher, operation, cd);
}
@@ -1093,16 +1058,6 @@ empathy_dispatcher_class_init (EmpathyDispatcherClass *klass)
G_TYPE_NONE,
1, EMPATHY_TYPE_DISPATCH_OPERATION);
- signals[APPROVE] =
- g_signal_new ("approve",
- G_TYPE_FROM_CLASS (klass),
- G_SIGNAL_RUN_LAST,
- 0,
- NULL, NULL,
- g_cclosure_marshal_VOID__OBJECT,
- G_TYPE_NONE,
- 1, EMPATHY_TYPE_DISPATCH_OPERATION);
-
signals[DISPATCH] =
g_signal_new ("dispatch",
G_TYPE_FROM_CLASS (klass),
diff --git a/libempathy/empathy-tp-chat.c b/libempathy/empathy-tp-chat.c
index 858cfae27..a9a63f548 100644
--- a/libempathy/empathy-tp-chat.c
+++ b/libempathy/empathy-tp-chat.c
@@ -1868,7 +1868,8 @@ empathy_tp_chat_join (EmpathyTpChat *self)
}
gboolean
-empathy_tp_chat_is_invited (EmpathyTpChat *self)
+empathy_tp_chat_is_invited (EmpathyTpChat *self,
+ TpHandle *inviter)
{
EmpathyTpChatPriv *priv = GET_PRIV (self);
TpHandle self_handle;
@@ -1881,5 +1882,5 @@ empathy_tp_chat_is_invited (EmpathyTpChat *self)
return FALSE;
return tp_channel_group_get_local_pending_info (priv->channel, self_handle,
- NULL, NULL, NULL);
+ inviter, NULL, NULL);
}
diff --git a/libempathy/empathy-tp-chat.h b/libempathy/empathy-tp-chat.h
index e5abe936f..3ac5eaf58 100644
--- a/libempathy/empathy-tp-chat.h
+++ b/libempathy/empathy-tp-chat.h
@@ -101,7 +101,8 @@ gboolean empathy_tp_chat_can_add_contact (EmpathyTpChat *self);
void empathy_tp_chat_leave (EmpathyTpChat *chat);
void empathy_tp_chat_join (EmpathyTpChat *chat);
-gboolean empathy_tp_chat_is_invited (EmpathyTpChat *chat);
+gboolean empathy_tp_chat_is_invited (EmpathyTpChat *chat,
+ TpHandle *inviter);
G_END_DECLS