[telepathy-mission-control/master] McdChannel: Don't let anything outside this library call mcd_channel_set_status
Simon McVittie
simon.mcvittie at collabora.co.uk
Fri Apr 3 08:21:21 PDT 2009
It's easier to reason about channel statuses if we know nobody else can
call it.
---
src/mcd-channel.c | 8 ++++----
src/mcd-channel.h | 4 +++-
src/mcd-connection.c | 4 ++--
src/mcd-dispatcher.c | 18 +++++++++---------
4 files changed, 18 insertions(+), 16 deletions(-)
diff --git a/src/mcd-channel.c b/src/mcd-channel.c
index 1deaf00..0efb6b0 100644
--- a/src/mcd-channel.c
+++ b/src/mcd-channel.c
@@ -749,7 +749,7 @@ _mcd_channel_create_proxy (McdChannel *channel, TpConnection *connection,
}
void
-mcd_channel_set_status (McdChannel *channel, McdChannelStatus status)
+_mcd_channel_set_status (McdChannel *channel, McdChannelStatus status)
{
DEBUG ("%p, %u", channel, status);
g_return_if_fail(MCD_IS_CHANNEL(channel));
@@ -1093,7 +1093,7 @@ mcd_channel_take_error (McdChannel *channel, GError *error)
g_object_set_data_full ((GObject *)channel, CD_ERROR,
error, (GDestroyNotify)g_error_free);
if (error)
- mcd_channel_set_status (channel, MCD_CHANNEL_STATUS_FAILED);
+ _mcd_channel_set_status (channel, MCD_CHANNEL_STATUS_FAILED);
}
/**
@@ -1157,7 +1157,7 @@ mcd_channel_new_request (McdAccount *account,
channel->priv->satisfied_requests = g_list_prepend (NULL,
g_strdup (crd->path));
- mcd_channel_set_status (channel, MCD_CHANNEL_STATUS_REQUEST);
+ _mcd_channel_set_status (channel, MCD_CHANNEL_STATUS_REQUEST);
/* This could do with refactoring so that requests are a separate object
* that dies at the appropriate time, but for now the path of least
@@ -1322,7 +1322,7 @@ copy_status (McdChannel *source, McdChannel *dest)
mcd_channel_take_error (dest, g_error_copy (error));
}
else
- mcd_channel_set_status (dest, src_priv->status);
+ _mcd_channel_set_status (dest, src_priv->status);
}
if (dst_priv->status == MCD_CHANNEL_STATUS_FAILED ||
diff --git a/src/mcd-channel.h b/src/mcd-channel.h
index 4281ed8..8a00ab1 100644
--- a/src/mcd-channel.h
+++ b/src/mcd-channel.h
@@ -110,7 +110,9 @@ gboolean _mcd_channel_create_proxy (McdChannel *channel,
const gchar *object_path,
const GHashTable *properties);
-void mcd_channel_set_status (McdChannel *channel, McdChannelStatus status);
+G_GNUC_INTERNAL
+void _mcd_channel_set_status (McdChannel *channel, McdChannelStatus status);
+
McdChannelStatus mcd_channel_get_status (McdChannel * channel);
gboolean mcd_channel_get_members_accepted (McdChannel *channel);
const gchar* mcd_channel_get_channel_type (McdChannel *channel);
diff --git a/src/mcd-connection.c b/src/mcd-connection.c
index 4e4a3ce..ecaef68 100644
--- a/src/mcd-connection.c
+++ b/src/mcd-connection.c
@@ -507,7 +507,7 @@ on_new_channel (TpConnection *proxy, const gchar *chan_obj_path,
tcd, mcd_tmp_channel_data_free);
mcd_operation_take_mission (MCD_OPERATION (connection),
MCD_MISSION (channel));
- mcd_channel_set_status (channel, MCD_CHANNEL_STATUS_UNDISPATCHED);
+ _mcd_channel_set_status (channel, MCD_CHANNEL_STATUS_UNDISPATCHED);
}
}
@@ -1878,7 +1878,7 @@ _mcd_connection_request_channel (McdConnection *connection,
ret = request_channel_old_iface (connection, channel);
if (ret)
- mcd_channel_set_status (channel, MCD_CHANNEL_STATUS_REQUESTED);
+ _mcd_channel_set_status (channel, MCD_CHANNEL_STATUS_REQUESTED);
return ret;
}
diff --git a/src/mcd-dispatcher.c b/src/mcd-dispatcher.c
index 40607ab..69c2651 100644
--- a/src/mcd-dispatcher.c
+++ b/src/mcd-dispatcher.c
@@ -815,7 +815,7 @@ _mcd_dispatcher_handle_channel_async_cb (DBusGProxy * proxy, GError * error,
g_error_free (unique_proxy_error);
}
- mcd_channel_set_status (channel, MCD_CHANNEL_STATUS_DISPATCHED);
+ _mcd_channel_set_status (channel, MCD_CHANNEL_STATUS_DISPATCHED);
g_signal_emit_by_name (context->dispatcher, "dispatched", channel);
mcd_dispatcher_context_handler_done (context);
}
@@ -1157,7 +1157,7 @@ handle_channels_cb (TpProxy *proxy, const GError *error, gpointer user_data,
McdChannel *channel = MCD_CHANNEL (list->data);
/* TODO: abort the channel if the handler dies */
- mcd_channel_set_status (channel, MCD_CHANNEL_STATUS_DISPATCHED);
+ _mcd_channel_set_status (channel, MCD_CHANNEL_STATUS_DISPATCHED);
g_signal_emit_by_name (context->dispatcher, "dispatched", channel);
}
}
@@ -1287,8 +1287,8 @@ mcd_dispatcher_run_handler (McdDispatcherContext *context,
if (user_time)
user_action_time = user_time;
- mcd_channel_set_status (channel,
- MCD_CHANNEL_STATUS_HANDLER_INVOKED);
+ _mcd_channel_set_status (channel,
+ MCD_CHANNEL_STATUS_HANDLER_INVOKED);
}
/* The callback needs to get the dispatcher context, and the channels
@@ -1651,7 +1651,7 @@ on_operation_finished (McdDispatchOperation *operation,
McdChannel *channel = MCD_CHANNEL (list->data);
/* TODO: abort the channel if the handler dies */
- mcd_channel_set_status (channel, MCD_CHANNEL_STATUS_DISPATCHED);
+ _mcd_channel_set_status (channel, MCD_CHANNEL_STATUS_DISPATCHED);
g_signal_emit_by_name (context->dispatcher, "dispatched", channel);
}
@@ -3202,8 +3202,8 @@ _mcd_dispatcher_send_channels (McdDispatcher *dispatcher, GList *channels,
GList *list;
for (list = channels; list != NULL; list = list->next)
- mcd_channel_set_status (MCD_CHANNEL (list->data),
- MCD_CHANNEL_STATUS_DISPATCHING);
+ _mcd_channel_set_status (MCD_CHANNEL (list->data),
+ MCD_CHANNEL_STATUS_DISPATCHING);
_mcd_dispatcher_enter_state_machine (dispatcher, channels, requested);
}
@@ -3459,8 +3459,8 @@ check_handled_channels (gpointer object, const GError *error,
{
DEBUG ("Channel %s is handled by %s", path, client->name);
cr->handled = TRUE;
- mcd_channel_set_status (cr->channel,
- MCD_CHANNEL_STATUS_DISPATCHED);
+ _mcd_channel_set_status (cr->channel,
+ MCD_CHANNEL_STATUS_DISPATCHED);
break;
}
}
--
1.5.6.5
More information about the telepathy-commits
mailing list