[Galago-commits] r2851 - in branches/libgalago/push-presence: .
docs/reference libgalago
galago-commits at freedesktop.org
galago-commits at freedesktop.org
Wed Jun 14 01:56:04 PDT 2006
Author: chipx86
Date: 2006-06-14 01:55:51 -0700 (Wed, 14 Jun 2006)
New Revision: 2851
Modified:
branches/libgalago/push-presence/ChangeLog
branches/libgalago/push-presence/docs/reference/libgalago-sections.txt
branches/libgalago/push-presence/libgalago/galago-account.c
branches/libgalago/push-presence/libgalago/galago-core.c
branches/libgalago/push-presence/libgalago/galago-presence.c
branches/libgalago/push-presence/libgalago/galago-presence.h
branches/libgalago/push-presence/libgalago/galago-service.c
branches/libgalago/push-presence/libgalago/galago-service.h
branches/libgalago/push-presence/libgalago/galago-status-attr.c
branches/libgalago/push-presence/libgalago/galago-status-attr.h
branches/libgalago/push-presence/libgalago/galago-status-type.c
branches/libgalago/push-presence/libgalago/galago-status-type.h
Log:
This mostly compiles again. There isn't a chance in hell it works, though.
Modified: branches/libgalago/push-presence/ChangeLog
===================================================================
--- branches/libgalago/push-presence/ChangeLog 2006-06-14 07:09:46 UTC (rev 2850)
+++ branches/libgalago/push-presence/ChangeLog 2006-06-14 08:55:51 UTC (rev 2851)
@@ -1,3 +1,19 @@
+Wed Jun 14 01:55:28 PDT 2006 Christian Hammond <chipx86 at chipx86.com>
+
+ * docs/reference/libgalago-sections.txt:
+ * libgalago/galago-account.c:
+ * libgalago/galago-core.c:
+ * libgalago/galago-presence.c:
+ * libgalago/galago-presence.h:
+ * libgalago/galago-service.c:
+ * libgalago/galago-service.h:
+ * libgalago/galago-status-attr.c:
+ * libgalago/galago-status-attr.h:
+ * libgalago/galago-status-type.c:
+ * libgalago/galago-status-type.h:
+ - This mostly compiles again. There isn't a chance in hell it works,
+ though.
+
Mon Jun 12 19:59:22 PDT 2006 Christian Hammond <chipx86 at chipx86.com>
* NEWS:
Modified: branches/libgalago/push-presence/docs/reference/libgalago-sections.txt
===================================================================
--- branches/libgalago/push-presence/docs/reference/libgalago-sections.txt 2006-06-14 07:09:46 UTC (rev 2850)
+++ branches/libgalago/push-presence/docs/reference/libgalago-sections.txt 2006-06-14 08:55:51 UTC (rev 2851)
@@ -129,8 +129,8 @@
</SECTION>
<SECTION>
-<FILE>galago-status</FILE>
-GalagoStatusType
+<FILE>galago-status-type</FILE>
+GalagoStatusPrimitive
GALAGO_STATUS_ID_AVAILABLE
GALAGO_STATUS_ID_AWAY
GALAGO_STATUS_ID_BRB
@@ -140,25 +140,25 @@
GALAGO_STATUS_ID_HIDDEN
GALAGO_STATUS_ID_OFFLINE
GALAGO_STATUS_ATTR_MESSAGE
-<TITLE>GalagoStatus</TITLE>
-GalagoStatus
-galago_status_new
-galago_status_duplicate
-galago_status_set_presence
-galago_status_get_presence
-galago_status_get_primitive
-galago_status_get_id
-galago_status_get_name
-galago_status_is_exclusive
-galago_status_is_available
+<TITLE>GalagoStatusType</TITLE>
+GalagoStatusType
+galago_status_type_new
+galago_status_type_duplicate
+galago_status_type_set_presence
+galago_status_type_get_presence
+galago_status_type_get_primitive
+galago_status_type_get_id
+galago_status_type_get_name
+galago_status_type_is_exclusive
+galago_status_type_is_available
<SUBSECTION Standard>
-GALAGO_STATUS
-GALAGO_IS_STATUS
-GALAGO_TYPE_STATUS
-galago_status_get_type
-GALAGO_STATUS_CLASS
-GALAGO_IS_STATUS_CLASS
-GALAGO_STATUS_GET_CLASS
+GALAGO_STATUS_TYPE
+GALAGO_IS_STATUS_TYPE
+GALAGO_TYPE_STATUS_TYPE
+galago_status_type_get_type
+GALAGO_STATUS_TYPE_CLASS
+GALAGO_IS_STATUS_TYPE_CLASS
+GALAGO_STATUS_TYPE_GET_CLASS
</SECTION>
<SECTION>
Modified: branches/libgalago/push-presence/libgalago/galago-account.c
===================================================================
--- branches/libgalago/push-presence/libgalago/galago-account.c 2006-06-14 07:09:46 UTC (rev 2850)
+++ branches/libgalago/push-presence/libgalago/galago-account.c 2006-06-14 08:55:51 UTC (rev 2851)
@@ -607,6 +607,9 @@
{
galago_context_push(galago_object_get_context(GALAGO_OBJECT(presence)));
+ g_assert_not_reached(); // XXX
+
+#if 0
if (connected)
{
if (galago_presence_has_status(presence, "offline") ||
@@ -628,6 +631,7 @@
"Offline", TRUE));
}
}
+#endif
galago_context_pop();
}
Modified: branches/libgalago/push-presence/libgalago/galago-core.c
===================================================================
--- branches/libgalago/push-presence/libgalago/galago-core.c 2006-06-14 07:09:46 UTC (rev 2850)
+++ branches/libgalago/push-presence/libgalago/galago-core.c 2006-06-14 08:55:51 UTC (rev 2851)
@@ -673,6 +673,8 @@
else if (dbus_message_is_signal(message, GALAGO_DBUS_PRESENCE_INTERFACE,
"StatusAdded"))
{
+ g_assert_not_reached();
+#if 0
GalagoPresence *presence;
GalagoStatus *status;
@@ -692,10 +694,13 @@
else
g_object_unref(status);
}
+#endif
}
else if (dbus_message_is_signal(message, GALAGO_DBUS_PRESENCE_INTERFACE,
"StatusRemoved"))
{
+ g_assert_not_reached();
+#if 0
GalagoPresence *presence;
const char *status_id;
@@ -707,6 +712,7 @@
galago_presence_remove_status(presence, status_id);
}
+#endif
}
/*
* Person
Modified: branches/libgalago/push-presence/libgalago/galago-presence.c
===================================================================
--- branches/libgalago/push-presence/libgalago/galago-presence.c 2006-06-14 07:09:46 UTC (rev 2850)
+++ branches/libgalago/push-presence/libgalago/galago-presence.c 2006-06-14 08:55:51 UTC (rev 2851)
@@ -35,7 +35,7 @@
GList *statuses;
- GalagoStatus *active_status;
+ const GalagoStatusType *active_status;
};
enum
@@ -56,8 +56,6 @@
static void _galago_dbus_account_destroy_presence(GalagoAccount *account,
GalagoPresence *presence);
-static void _galago_presence_remove_status(GalagoPresence *presence,
- GalagoStatus *status);
static unsigned int status_type_scores[] =
{
@@ -128,59 +126,6 @@
G_TYPE_ULONG);
/**
- * GalagoPresence::status-added:
- * @presence: The object which received the signal.
- * @status: The status that was added.
- *
- * Emitted whenever a status is added.
- */
- signals[STATUS_ADDED] =
- g_signal_new("status_added",
- G_TYPE_FROM_CLASS(klass),
- G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
- G_STRUCT_OFFSET(GalagoPresenceClass, status_added),
- NULL, NULL,
- g_cclosure_marshal_VOID__POINTER,
- G_TYPE_NONE, 1,
- G_TYPE_POINTER);
-
- /**
- * GalagoPresence::status-removed:
- * @presence: The object which received the signal.
- * @status: The status that was removed.
- *
- * Emitted whenever a status is removed.
- */
- signals[STATUS_REMOVED] =
- g_signal_new("status_removed",
- G_TYPE_FROM_CLASS(klass),
- G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
- G_STRUCT_OFFSET(GalagoPresenceClass, status_removed),
- NULL, NULL,
- g_cclosure_marshal_VOID__POINTER,
- G_TYPE_NONE, 1,
- G_TYPE_POINTER);
-
- /**
- * GalagoPresence::status-updated:
- * @presence: The object which received the signal.
- * @status: The status that was updated.
- * @name: The name of the attribute updated.
- *
- * Emitted when an attribute on a status was set or updated.
- */
- signals[STATUS_UPDATED] =
- g_signal_new("status_updated",
- G_TYPE_FROM_CLASS(klass),
- G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
- G_STRUCT_OFFSET(GalagoPresenceClass, status_updated),
- NULL, NULL,
- galago_marshal_VOID__POINTER_STRING,
- G_TYPE_NONE, 2,
- G_TYPE_POINTER,
- G_TYPE_STRING);
-
- /**
* GalagoPresence::changed:
* @presence: The object which received the signal.
*
@@ -263,8 +208,10 @@
idle_time = galago_presence_get_idle_time(presence);
dbus_message_iter_append_basic(iter, DBUS_TYPE_UINT32, &idle_time);
+#if 0
galago_dbus_message_iter_append_object_list(iter, GALAGO_TYPE_STATUS,
galago_presence_get_statuses(presence));
+#endif
}
static void *
@@ -272,7 +219,9 @@
{
GalagoPresence *presence;
GalagoAccount *account;
+#if 0
GList *l, *statuses;
+#endif
const char *obj_path;
gboolean idle;
time_t idle_start_time = 0;
@@ -292,11 +241,13 @@
presence = _galago_presence_new(account, obj_path);
galago_presence_set_idle(presence, idle, idle_start_time);
+#if 0
statuses = galago_dbus_message_iter_get_object_list(iter,
GALAGO_TYPE_STATUS);
for (l = statuses; l != NULL; l = l->next)
galago_presence_add_status(presence, GALAGO_STATUS(l->data));
+#endif
return presence;
}
@@ -309,8 +260,10 @@
galago_object_type_get_dbus_signature(GALAGO_TYPE_ACCOUNT), // account
DBUS_TYPE_BOOLEAN_AS_STRING, // idle flag
DBUS_TYPE_UINT32_AS_STRING, // idle time
+#if 0
DBUS_TYPE_ARRAY_AS_STRING, // array of statuses
galago_object_type_get_dbus_signature(GALAGO_TYPE_STATUS),
+#endif
NULL);
}
@@ -518,7 +471,12 @@
g_return_val_if_fail(presence != NULL, TRUE);
g_return_val_if_fail(GALAGO_IS_PRESENCE(presence), TRUE);
+ g_assert_not_reached();
+
+ return FALSE;
+#if 0
return (galago_presence_get_statuses(presence) == NULL);
+#endif
}
/**
@@ -532,6 +490,9 @@
gboolean
galago_presence_is_available(const GalagoPresence *presence)
{
+ g_assert_not_reached();
+ return FALSE;
+#if 0
GalagoStatus *status;
g_return_val_if_fail(presence != NULL, FALSE);
@@ -541,368 +502,10 @@
return ((status != NULL && galago_status_is_available(status)) &&
!galago_presence_is_idle(presence));
+#endif
}
/**
- * galago_presence_set_statuses
- * @presence: The presence.
- * @statuses: The list of statuses.
- *
- * Sets a list of statuses in a presence.
- *
- * The presence claims ownership of the list and will free it when
- * destroyed.
- */
-void
-galago_presence_set_statuses(GalagoPresence *presence, GList *statuses)
-{
- GList *l;
- GalagoAccount *account;
-
- g_return_if_fail(presence != NULL);
- g_return_if_fail(GALAGO_IS_PRESENCE(presence));
-
- if (presence->priv->statuses == statuses)
- return;
-
- if (presence->priv->statuses != NULL)
- {
- for (l = presence->priv->statuses; l != NULL; l = l->next)
- {
- GalagoStatus *status = (GalagoStatus *)l->data;
-
- g_signal_emit(presence, signals[STATUS_REMOVED], 0, status);
-
- galago_object_destroy(GALAGO_OBJECT(status));
- }
-
- g_list_free(presence->priv->statuses);
-
- presence->priv->active_status = NULL;
- }
-
- presence->priv->statuses = statuses;
-
- account = galago_presence_get_account(presence);
-
- if (GALAGO_OBJECT_IS_LOCAL(account) &&
- galago_is_connected() && galago_is_feed())
- {
- galago_dbus_send_message(GALAGO_OBJECT(presence), "SetStatuses",
- galago_value_new_list(GALAGO_VALUE_TYPE_OBJECT,
- galago_presence_get_statuses(presence),
- (void *)GALAGO_TYPE_STATUS),
- NULL);
- }
-
- for (l = statuses; l != NULL; l = l->next)
- g_signal_emit(presence, signals[STATUS_ADDED], 0, l->data);
-
- g_signal_emit(presence, signals[CHANGED], 0);
-}
-
-/**
- * galago_presence_add_status
- * @presence: The presence.
- * @status: The status.
- *
- * Adds a single status to a presence.
- */
-void
-galago_presence_add_status(GalagoPresence *presence, GalagoStatus *status)
-{
- GalagoAccount *account;
- GalagoPerson *person;
- const char *status_id;
-
- g_return_if_fail(presence != NULL);
- g_return_if_fail(status != NULL);
- g_return_if_fail(GALAGO_IS_PRESENCE(presence));
- g_return_if_fail(GALAGO_IS_STATUS(status));
-
- status_id = galago_status_get_id(status);
-
- account = galago_presence_get_account(presence);
- person = galago_account_get_person(account);
-
- if (galago_presence_get_status(presence, status_id) != NULL)
- {
- GalagoAccount *account = galago_presence_get_account(presence);
-
- g_warning("A status with ID %s has already been added "
- "to the presence for account %s",
- status_id, galago_account_get_username(account));
-
- galago_object_destroy(GALAGO_OBJECT(status));
-
- return;
- }
-
- if (GALAGO_OBJECT_IS_LOCAL(person) && galago_is_connected() &&
- galago_is_feed())
- {
- char *obj_path = galago_dbus_send_message_with_reply(
- GALAGO_OBJECT(presence), "AddStatus",
- galago_value_new(GALAGO_VALUE_TYPE_STRING, NULL, NULL),
- galago_value_new_object(GALAGO_TYPE_STATUS, G_OBJECT(status)),
- NULL);
-
- g_assert(obj_path != NULL);
-
- galago_object_set_dbus_path(GALAGO_OBJECT(status), obj_path);
- g_free(obj_path);
- }
-
- if (galago_status_is_exclusive(status))
- {
- GalagoStatus *active_status;
-
- active_status = galago_presence_get_active_status(presence);
-
- if (active_status != NULL)
- _galago_presence_remove_status(presence, active_status);
-
- presence->priv->active_status = status;
- }
-
- presence->priv->statuses = g_list_append(presence->priv->statuses, status);
-
- //galago_status_set_presence(status, presence);
-
- g_signal_emit(presence, signals[STATUS_ADDED], 0, status);
- g_signal_emit(presence, signals[CHANGED], 0);
-}
-
-static void
-_galago_presence_remove_status(GalagoPresence *presence, GalagoStatus *status)
-{
- GalagoAccount *account;
-
- g_return_if_fail(presence != NULL);
- g_return_if_fail(status != NULL);
- g_return_if_fail(GALAGO_IS_PRESENCE(presence));
- g_return_if_fail(GALAGO_IS_STATUS(status));
-
- presence->priv->statuses = g_list_remove(presence->priv->statuses, status);
-
- account = galago_presence_get_account(presence);
-
- if (GALAGO_OBJECT_IS_LOCAL(account) &&
- !galago_status_is_exclusive(status) && galago_is_connected() &&
- galago_is_feed())
- {
- const char *id = galago_status_get_id(status);
-
- galago_dbus_send_message(GALAGO_OBJECT(presence), "RemoveStatus",
- galago_value_new(GALAGO_VALUE_TYPE_STRING, &id, NULL),
- NULL);
- }
-
- g_signal_emit(presence, signals[STATUS_REMOVED], 0, status);
- g_signal_emit(presence, signals[CHANGED], 0);
-
- galago_object_destroy(GALAGO_OBJECT(status));
-}
-
-/**
- * galago_presence_remove_status
- * @presence: The presence.
- * @status_id: The ID of the status to remove.
- *
- * Removes a single status from a presence.
- *
- * The status being removed must not be an exclusive status.
- */
-void
-galago_presence_remove_status(GalagoPresence *presence, const char *status_id)
-{
- GalagoStatus *status;
-
- g_return_if_fail(presence != NULL);
- g_return_if_fail(status_id != NULL && *status_id != '\0');
- g_return_if_fail(GALAGO_IS_PRESENCE(presence));
-
- status = galago_presence_get_status(presence, status_id);
-
- if (status == NULL)
- {
- GalagoAccount *account = galago_presence_get_account(presence);
-
- g_warning("Attempted to remove an unknown status %s from "
- "the presence for account %s",
- status_id, galago_account_get_username(account));
-
- return;
- }
-
- g_return_if_fail(!galago_status_is_exclusive(status));
-
- _galago_presence_remove_status(presence, status);
-}
-
-/**
- * galago_presence_clear_statuses
- * @presence: The presence.
- *
- * Clears all statuses in a presence.
- */
-void
-galago_presence_clear_statuses(GalagoPresence *presence)
-{
- g_return_if_fail(presence != NULL);
- g_return_if_fail(GALAGO_IS_PRESENCE(presence));
-
- galago_presence_set_statuses(presence, NULL);
-}
-
-/**
- * galago_presence_get_statuses
- * @presence: The presence.
- *
- * Returns the list of statuses from a presence.
- *
- * Returns: The list of statuses.
- */
-GList *
-galago_presence_get_statuses(const GalagoPresence *presence)
-{
- g_return_val_if_fail(presence != NULL, NULL);
- g_return_val_if_fail(GALAGO_IS_PRESENCE(presence), NULL);
-
- return presence->priv->statuses;
-}
-
-/**
- * galago_presence_get_active_status
- * @presence: The presence.
- *
- * Returns the active exclusive status from a presence.
- *
- * Returns: The active exclusive status, if set, or NULL.
- */
-GalagoStatus *
-galago_presence_get_active_status(const GalagoPresence *presence)
-{
- g_return_val_if_fail(presence != NULL, NULL);
- g_return_val_if_fail(GALAGO_IS_PRESENCE(presence), NULL);
-
- return presence->priv->active_status;
-}
-
-/**
- * galago_presence_is_status_exclusive
- * @presence: The presence.
- * @status_id: The ID of the status.
- *
- * Returns whether or not the status with the specified ID in a presence
- * is exclusive.
- *
- * Returns: %TRUE if the status is exclusive, or %FALSE.
- */
-gboolean
-galago_presence_is_status_exclusive(const GalagoPresence *presence,
- const char *status_id)
-{
- GalagoStatus *status;
-
- g_return_val_if_fail(presence != NULL, FALSE);
- g_return_val_if_fail(status_id != NULL && *status_id != '\0', FALSE);
- g_return_val_if_fail(GALAGO_IS_PRESENCE(presence), FALSE);
-
- status = galago_presence_get_status(presence, status_id);
-
- if (status == NULL)
- return FALSE;
-
- return galago_status_is_exclusive(status);
-}
-
-/**
- * galago_presence_get_status
- * @presence: The presence.
- * @status_id: The status ID.
- *
- * Returns the status from a presence with the specified ID.
- *
- * Returns: The status, if found, or NULL.
- */
-GalagoStatus *
-galago_presence_get_status(const GalagoPresence *presence,
- const char *status_id)
-{
- GList *l;
-
- g_return_val_if_fail(presence != NULL, NULL);
- g_return_val_if_fail(status_id != NULL, NULL);
- g_return_val_if_fail(GALAGO_IS_PRESENCE(presence), NULL);
-
- for (l = galago_presence_get_statuses(presence);
- l != NULL;
- l = l->next)
- {
- GalagoStatus *status = (GalagoStatus *)l->data;
-
- if (!strcmp(galago_status_get_id(status), status_id))
- return status;
- }
-
- return NULL;
-}
-
-/**
- * galago_presence_has_status
- * @presence: The presence.
- * @status_id: The status ID.
- *
- * Returns whether or not a presence has a status with the specified ID.
- *
- * Returns: %TRUE if the presence has the status, or %FALSE.
- */
-gboolean
-galago_presence_has_status(const GalagoPresence *presence,
- const char *status_id)
-{
- g_return_val_if_fail(presence != NULL, FALSE);
- g_return_val_if_fail(status_id != NULL, FALSE);
- g_return_val_if_fail(GALAGO_IS_PRESENCE(presence), FALSE);
-
- return (galago_presence_get_status(presence, status_id) != NULL);
-}
-
-/**
- * galago_presence_has_status_type
- * @presence: The presence.
- * @type: The status type.
- *
- * Returns whether or not a presence has a status with the specified
- * primitive type.
- *
- * Returns: %TRUE if the presence has the status, or %FALSE.
- */
-gboolean
-galago_presence_has_status_type(const GalagoPresence *presence,
- GalagoStatusType type)
-{
- GList *l;
-
- g_return_val_if_fail(presence != NULL, FALSE);
- g_return_val_if_fail(GALAGO_IS_PRESENCE(presence), FALSE);
- g_return_val_if_fail(type != GALAGO_STATUS_UNSET, FALSE);
-
- for (l = galago_presence_get_statuses(presence);
- l != NULL;
- l = l->next)
- {
- GalagoStatus *status = (GalagoStatus *)l->data;
-
- if (galago_status_get_primitive(status) == type)
- return TRUE;
- }
-
- return FALSE;
-}
-
-/**
* galago_presence_compare
* @presence1: The first presence.
* @presence2: The second presence.
@@ -932,6 +535,7 @@
else if (presence2 == NULL)
return -1;
+#if 0
/* Compute the score of the first set of statuses. */
for (l = galago_presence_get_statuses(presence1); l != NULL; l = l->next)
{
@@ -945,7 +549,10 @@
GalagoStatus *status = (GalagoStatus *)l->data;
score2 += status_type_scores[galago_status_get_primitive(status)];
}
+#endif
+ g_assert_not_reached();
+
if (score1 > score2)
return 1;
else if (score1 < score2)
Modified: branches/libgalago/push-presence/libgalago/galago-presence.h
===================================================================
--- branches/libgalago/push-presence/libgalago/galago-presence.h 2006-06-14 07:09:46 UTC (rev 2850)
+++ branches/libgalago/push-presence/libgalago/galago-presence.h 2006-06-14 08:55:51 UTC (rev 2851)
@@ -31,6 +31,7 @@
#include <libgalago/galago-account.h>
#include <libgalago/galago-object.h>
#include <libgalago/galago-person.h>
+#include <libgalago/galago-status-type.h>
/**
* A presence.
@@ -60,10 +61,6 @@
/* Signals */
void (*idle_changed)(GalagoPresence *presence, gboolean idle,
time_t idle_start_time);
- void (*status_added)(GalagoPresence *presence, GalagoStatus *status);
- void (*status_removed)(GalagoPresence *presence, GalagoStatus *status);
- void (*status_updated)(GalagoPresence *presence, GalagoStatus *status,
- const char *attr_id);
void (*changed)(GalagoPresence *presence);
void (*reserved_1)(void);
@@ -105,36 +102,18 @@
gboolean galago_presence_is_available(const GalagoPresence *presence);
void galago_presence_enable_status(GalagoPresence *presence,
- const GalagoStatus *status, ...);
+ const GalagoStatusType *status_type, ...);
void galago_presence_disable_status(GalagoPresence *presence);
GList *galago_presence_get_enabled_statuses(const GalagoPresence *presence);
gboolean galago_presence_get_status_enabled(const GalagoPresence *presence);
void galago_presence_set_status_attrs(GalagoPresence *presence,
- const GalagoStatus *status,
+ const GalagoStatusType *status_type,
GValue *value, ...);
-const GValue *galago_presence_get_status_attr(GalagoPresence *presence,
- const GalagoStatus *status,
- const char *attr_name);
+const GValue *galago_presence_get_status_attr(
+ GalagoPresence *presence,
+ const GalagoStatusType *status_type,
+ const char *attr_name);
-/* XXX */
-void galago_presence_set_statuses(GalagoPresence *presence, GList *statuses);
-void galago_presence_add_status(GalagoPresence *presence,
- GalagoStatus *status);
-void galago_presence_remove_status(GalagoPresence *presence,
- const char *status_id);
-void galago_presence_clear_statuses(GalagoPresence *presence);
-GList *galago_presence_get_statuses(const GalagoPresence *presence);
-GalagoStatus *galago_presence_get_active_status(const GalagoPresence *presence);
-
-gboolean galago_presence_is_status_exclusive(const GalagoPresence *presence,
- const char *status_id);
-GalagoStatus *galago_presence_get_status(const GalagoPresence *presence,
- const char *status_id);
-gboolean galago_presence_has_status(const GalagoPresence *presence,
- const char *status_id);
-gboolean galago_presence_has_status_type(const GalagoPresence *presence,
- GalagoStatusType type);
-
int galago_presence_compare(const GalagoPresence *presence1,
const GalagoPresence *presence2);
Modified: branches/libgalago/push-presence/libgalago/galago-service.c
===================================================================
--- branches/libgalago/push-presence/libgalago/galago-service.c 2006-06-14 07:09:46 UTC (rev 2850)
+++ branches/libgalago/push-presence/libgalago/galago-service.c 2006-06-14 08:55:51 UTC (rev 2851)
@@ -520,12 +520,13 @@
* by a non-feed.
*/
void
-galago_service_register_status(GalagoService *service, GalagoStatus *status)
+galago_service_register_status(GalagoService *service,
+ GalagoStatusType *status)
{
g_return_if_fail(service != NULL);
g_return_if_fail(GALAGO_IS_SERVICE(service));
g_return_if_fail(status != NULL);
- g_return_if_fail(GALAGO_IS_STATUS(status));
+ g_return_if_fail(GALAGO_IS_STATUS_TYPE(status));
g_return_if_fail(GALAGO_OBJECT_IS_LOCAL(service));
g_return_if_fail(galago_is_feed());
@@ -543,7 +544,7 @@
* re-adding.
*/
galago_dbus_send_message(GALAGO_OBJECT(service), "RegisterStatus",
- galago_value_new_object(GALAGO_TYPE_STATUS, G_OBJECT(status)),
+ galago_value_new_object(GALAGO_TYPE_STATUS_TYPE, G_OBJECT(status)),
NULL);
g_object_unref(G_OBJECT(status));
}
@@ -568,7 +569,7 @@
return galago_dbus_send_message_with_reply(
GALAGO_OBJECT(service), "GetRegisteredStatuses",
galago_value_new_list(GALAGO_VALUE_TYPE_OBJECT, NULL,
- (gpointer)GALAGO_TYPE_STATUS),
+ (gpointer)GALAGO_TYPE_STATUS_TYPE),
NULL);
}
Modified: branches/libgalago/push-presence/libgalago/galago-service.h
===================================================================
--- branches/libgalago/push-presence/libgalago/galago-service.h 2006-06-14 07:09:46 UTC (rev 2850)
+++ branches/libgalago/push-presence/libgalago/galago-service.h 2006-06-14 08:55:51 UTC (rev 2851)
@@ -122,7 +122,7 @@
GalagoServiceFlags galago_service_get_flags(const GalagoService *service);
void galago_service_register_status(GalagoService *service,
- GalagoStatus *status);
+ GalagoStatusType *status_type);
GList *galago_service_get_registered_statuses(const GalagoService *service);
GalagoAccount *galago_service_create_account(GalagoService *service,
Modified: branches/libgalago/push-presence/libgalago/galago-status-attr.c
===================================================================
--- branches/libgalago/push-presence/libgalago/galago-status-attr.c 2006-06-14 07:09:46 UTC (rev 2850)
+++ branches/libgalago/push-presence/libgalago/galago-status-attr.c 2006-06-14 08:55:51 UTC (rev 2851)
@@ -19,6 +19,7 @@
* Boston, MA 02111-1307, USA.
*/
#include <libgalago/galago-status-attr.h>
+#include <string.h>
struct _GalagoStatusAttr
{
Modified: branches/libgalago/push-presence/libgalago/galago-status-attr.h
===================================================================
--- branches/libgalago/push-presence/libgalago/galago-status-attr.h 2006-06-14 07:09:46 UTC (rev 2850)
+++ branches/libgalago/push-presence/libgalago/galago-status-attr.h 2006-06-14 08:55:51 UTC (rev 2851)
@@ -21,6 +21,8 @@
#ifndef _GALAGO_STATUS_ATTR_H_
#define _GALAGO_STATUS_ATTR_H_
+#include <glib-object.h>
+
typedef struct _GalagoStatusAttr GalagoStatusAttr;
#define GALAGO_STATUS_ATTR_MESSAGE "message"
Modified: branches/libgalago/push-presence/libgalago/galago-status-type.c
===================================================================
--- branches/libgalago/push-presence/libgalago/galago-status-type.c 2006-06-14 07:09:46 UTC (rev 2850)
+++ branches/libgalago/push-presence/libgalago/galago-status-type.c 2006-06-14 08:55:51 UTC (rev 2851)
@@ -26,9 +26,9 @@
#include <stdio.h>
#include <string.h>
-struct _GalagoStatusPrivate
+struct _GalagoStatusTypePrivate
{
- GalagoStatusType primitive;
+ GalagoStatusPrimitive primitive;
char *id;
char *name;
@@ -51,36 +51,37 @@
/**************************************************************************
* Object/Class support
**************************************************************************/
-static void galago_status_destroy(GalagoObject *gobject);
-static void galago_status_dbus_message_append(DBusMessageIter *iter,
- const GalagoObject *object);
-static void *galago_status_dbus_message_get(DBusMessageIter *iter);
-static gchar *galago_status_dbus_get_signature(void);
-static const gchar *galago_status_attr_dbus_get_signature(void);
-static void galago_status_set_property(GObject *object, guint prop_id,
- const GValue *value, GParamSpec *pspec);
-static void galago_status_get_property(GObject *object, guint prop_id,
- GValue *value, GParamSpec *pspec);
+static void galago_status_type_destroy(GalagoObject *gobject);
+static void galago_status_type_dbus_message_append(DBusMessageIter *iter,
+ const GalagoObject *object);
+static void *galago_status_type_dbus_message_get(DBusMessageIter *iter);
+static gchar *galago_status_type_dbus_get_signature(void);
+static const gchar *galago_status_type_attr_dbus_get_signature(void);
+static void galago_status_type_set_property(GObject *object, guint prop_id,
+ const GValue *value,
+ GParamSpec *pspec);
+static void galago_status_type_get_property(GObject *object, guint prop_id,
+ GValue *value, GParamSpec *pspec);
static GalagoObjectClass *parent_class = NULL;
-G_DEFINE_TYPE(GalagoStatus, galago_status, GALAGO_TYPE_OBJECT);
+G_DEFINE_TYPE(GalagoStatusType, galago_status_type, GALAGO_TYPE_OBJECT);
static void
-galago_status_class_init(GalagoStatusClass *klass)
+galago_status_type_class_init(GalagoStatusTypeClass *klass)
{
GObjectClass *gobject_class = G_OBJECT_CLASS(klass);
GalagoObjectClass *object_class = GALAGO_OBJECT_CLASS(klass);
parent_class = g_type_class_peek_parent(klass);
- object_class->destroy = galago_status_destroy;
- object_class->dbus_message_append = galago_status_dbus_message_append;
- object_class->dbus_message_get = galago_status_dbus_message_get;
- object_class->dbus_get_signature = galago_status_dbus_get_signature;
+ object_class->destroy = galago_status_type_destroy;
+ object_class->dbus_message_append = galago_status_type_dbus_message_append;
+ object_class->dbus_message_get = galago_status_type_dbus_message_get;
+ object_class->dbus_get_signature = galago_status_type_dbus_get_signature;
- gobject_class->set_property = galago_status_set_property;
- gobject_class->get_property = galago_status_get_property;
+ gobject_class->set_property = galago_status_type_set_property;
+ gobject_class->get_property = galago_status_type_get_property;
g_object_class_install_property(gobject_class, PROP_TYPE,
g_param_spec_enum("primitive", "Primitive",
@@ -88,51 +89,51 @@
GALAGO_TYPE_STATUS_TYPE,
GALAGO_STATUS_UNSET,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
- G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB));
+ G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK |
+ G_PARAM_STATIC_BLURB));
g_object_class_install_property(gobject_class, PROP_ID,
g_param_spec_string("id", "ID",
"The status's ID",
NULL,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
- G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB));
+ G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK |
+ G_PARAM_STATIC_BLURB));
g_object_class_install_property(gobject_class, PROP_NAME,
g_param_spec_string("name", "Name",
"The status's descriptive name",
NULL,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
- G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB));
+ G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK |
+ G_PARAM_STATIC_BLURB));
g_object_class_install_property(gobject_class, PROP_EXCLUSIVE,
g_param_spec_boolean("exclusive", "Exclusive",
"The status's exclusive state",
FALSE,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
- G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB));
+ G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK |
+ G_PARAM_STATIC_BLURB));
}
static void
-galago_status_init(GalagoStatus *status)
+galago_status_type_init(GalagoStatusType *status)
{
- status->priv = g_new0(GalagoStatusPrivate, 1);
+ status->priv = g_new0(GalagoStatusTypePrivate, 1);
}
static void
-galago_status_destroy(GalagoObject *object)
+galago_status_type_destroy(GalagoObject *object)
{
- GalagoStatus *status = GALAGO_STATUS(object);
+ GalagoStatusType *status_type = GALAGO_STATUS_TYPE(object);
- if (status->priv != NULL)
+ if (status_type->priv != NULL)
{
- if (status->priv->id != NULL)
- g_free(status->priv->id);
-
- if (status->priv->name != NULL)
- g_free(status->priv->name);
-
- g_free(status->priv);
- status->priv = NULL;
+ g_free(status_type->priv->id);
+ g_free(status_type->priv->name);
+ g_free(status_type->priv);
+ status_type->priv = NULL;
}
if (GALAGO_OBJECT_CLASS(parent_class)->destroy != NULL)
@@ -140,28 +141,27 @@
}
static void
-galago_status_dbus_message_append(DBusMessageIter *iter,
- const GalagoObject *object)
+galago_status_type_dbus_message_append(DBusMessageIter *iter,
+ const GalagoObject *object)
{
- GalagoStatus *status = (GalagoStatus *)object;
+ GalagoStatusType *status_type = (GalagoStatusType *)object;
DBusMessageIter array_iter;
- GalagoStatusType type;
+ GalagoStatusPrimitive primitive;
const char *id, *name;
gboolean exclusive;
- type = galago_status_get_primitive(status);
- id = galago_status_get_id(status);
- name = galago_status_get_name(status);
- exclusive = galago_status_is_exclusive(status);
+ primitive = galago_status_type_get_primitive(status_type);
+ id = galago_status_type_get_id(status_type);
+ name = galago_status_type_get_name(status_type);
+ exclusive = galago_status_type_is_exclusive(status_type);
- dbus_message_iter_append_basic(iter, DBUS_TYPE_BYTE, &type);
+ dbus_message_iter_append_basic(iter, DBUS_TYPE_BYTE, &primitive);
dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, &id);
dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, &name);
dbus_message_iter_append_basic(iter, DBUS_TYPE_BOOLEAN, &exclusive);
dbus_message_iter_open_container(iter, DBUS_TYPE_ARRAY,
- galago_status_attr_dbus_get_signature(),
- &array_iter);
+ galago_status_type_attr_dbus_get_signature(), &array_iter);
#if 0
for (l = galago_object_get_attributes(GALAGO_OBJECT(status));
@@ -230,15 +230,15 @@
}
static void *
-galago_status_dbus_message_get(DBusMessageIter *iter)
+galago_status_type_dbus_message_get(DBusMessageIter *iter)
{
- GalagoStatus *status;
+ GalagoStatusType *status_type;
DBusMessageIter array_iter, struct_iter, value_iter;
- char type;
+ char primitive;
const char *id, *name;
gboolean exclusive;
- dbus_message_iter_get_basic(iter, &type);
+ dbus_message_iter_get_basic(iter, &primitive);
dbus_message_iter_next(iter);
dbus_message_iter_get_basic(iter, &id);
@@ -250,7 +250,8 @@
dbus_message_iter_get_basic(iter, &exclusive);
dbus_message_iter_next(iter);
- status = galago_status_new((GalagoStatusType)type, id, name, exclusive);
+ status_type = galago_status_type_new((GalagoStatusPrimitive)primitive,
+ id, name, exclusive);
dbus_message_iter_recurse(iter, &array_iter);
@@ -270,7 +271,7 @@
{
gboolean value;
dbus_message_iter_get_basic(&value_iter, &value);
- galago_object_set_attr_bool(GALAGO_OBJECT(status),
+ galago_object_set_attr_bool(GALAGO_OBJECT(status_type),
attr_id, value);
break;
}
@@ -279,7 +280,7 @@
{
const char *value;
dbus_message_iter_get_basic(&value_iter, &value);
- galago_object_set_attr_string(GALAGO_OBJECT(status),
+ galago_object_set_attr_string(GALAGO_OBJECT(status_type),
attr_id, value);
break;
}
@@ -288,7 +289,7 @@
{
dbus_uint32_t value;
dbus_message_iter_get_basic(&value_iter, &value);
- galago_object_set_attr_int(GALAGO_OBJECT(status),
+ galago_object_set_attr_int(GALAGO_OBJECT(status_type),
attr_id, value);
break;
}
@@ -297,7 +298,7 @@
{
double value;
dbus_message_iter_get_basic(&value_iter, &value);
- galago_object_set_attr_double(GALAGO_OBJECT(status),
+ galago_object_set_attr_double(GALAGO_OBJECT(status_type),
attr_id, value);
break;
}
@@ -310,11 +311,11 @@
dbus_message_iter_next(&array_iter);
}
- return status;
+ return status_type;
}
static const gchar *
-galago_status_attr_dbus_get_signature(void)
+galago_status_type_attr_dbus_get_signature(void)
{
return DBUS_STRUCT_BEGIN_CHAR_AS_STRING
DBUS_TYPE_STRING_AS_STRING // id
@@ -323,7 +324,7 @@
}
static gchar *
-galago_status_dbus_get_signature(void)
+galago_status_type_dbus_get_signature(void)
{
return g_strconcat(
DBUS_TYPE_BYTE_AS_STRING, // type
@@ -331,36 +332,36 @@
DBUS_TYPE_STRING_AS_STRING, // name
DBUS_TYPE_BOOLEAN_AS_STRING, // exclusive
DBUS_TYPE_ARRAY_AS_STRING, // array of attributes
- galago_status_attr_dbus_get_signature(),
+ galago_status_type_attr_dbus_get_signature(),
NULL);
}
static void
-galago_status_set_property(GObject *object, guint prop_id,
- const GValue *value, GParamSpec *pspec)
+galago_status_type_set_property(GObject *object, guint prop_id,
+ const GValue *value, GParamSpec *pspec)
{
- GalagoStatus *status = GALAGO_STATUS(object);
+ GalagoStatusType *status_type = GALAGO_STATUS_TYPE(object);
switch (prop_id)
{
case PROP_TYPE:
- status->priv->primitive =
- (GalagoStatusType)g_value_get_enum(value);
+ status_type->priv->primitive =
+ (GalagoStatusPrimitive)g_value_get_enum(value);
g_object_notify(object, "primitive");
break;
case PROP_ID:
- status->priv->id = g_value_dup_string(value);
+ status_type->priv->id = g_value_dup_string(value);
g_object_notify(object, "id");
break;
case PROP_NAME:
- status->priv->name = g_value_dup_string(value);
+ status_type->priv->name = g_value_dup_string(value);
g_object_notify(object, "name");
break;
case PROP_EXCLUSIVE:
- status->priv->exclusive = g_value_get_boolean(value);
+ status_type->priv->exclusive = g_value_get_boolean(value);
g_object_notify(object, "exclusive");
break;
@@ -371,27 +372,31 @@
}
static void
-galago_status_get_property(GObject *object, guint prop_id,
- GValue *value, GParamSpec *pspec)
+galago_status_type_get_property(GObject *object, guint prop_id,
+ GValue *value, GParamSpec *pspec)
{
- GalagoStatus *status = GALAGO_STATUS(object);
+ GalagoStatusType *status_type = GALAGO_STATUS_TYPE(object);
switch (prop_id)
{
case PROP_TYPE:
- g_value_set_enum(value, galago_status_get_primitive(status));
+ g_value_set_enum(value,
+ galago_status_type_get_primitive(status_type));
break;
case PROP_ID:
- g_value_set_string(value, galago_status_get_id(status));
+ g_value_set_string(value,
+ galago_status_type_get_id(status_type));
break;
case PROP_NAME:
- g_value_set_string(value, galago_status_get_name(status));
+ g_value_set_string(value,
+ galago_status_type_get_name(status_type));
break;
case PROP_EXCLUSIVE:
- g_value_set_boolean(value, galago_status_is_exclusive(status));
+ g_value_set_boolean(value,
+ galago_status_type_is_exclusive(status_type));
break;
default:
@@ -439,12 +444,12 @@
}
/**************************************************************************
- * GalagoStatus API
+ * GalagoStatusType API
**************************************************************************/
/**
- * galago_status_new
- * @type: The type of status.
+ * galago_status_type_new
+ * @primitive: The status primitive type.
* @id: The status ID.
* @name: The name of the status.
* @exclusive: TRUE if the status is exclusive.
@@ -460,16 +465,16 @@
*
* Returns: The status.
*/
-GalagoStatus *
-galago_status_new(GalagoStatusType type, const char *id, const char *name,
- gboolean exclusive)
+GalagoStatusType *
+galago_status_type_new(GalagoStatusPrimitive primitive,
+ const char *id, const char *name, gboolean exclusive)
{
const char *name2;
- g_return_val_if_fail(galago_is_initted(), NULL);
- g_return_val_if_fail(type != GALAGO_STATUS_UNSET, NULL);
- g_return_val_if_fail(id != NULL, NULL);
- g_return_val_if_fail(*id != '\0', NULL);
+ g_return_val_if_fail(galago_is_initted(), NULL);
+ g_return_val_if_fail(primitive != GALAGO_STATUS_UNSET, NULL);
+ g_return_val_if_fail(id != NULL, NULL);
+ g_return_val_if_fail(*id != '\0', NULL);
if ((name2 = _galago_statuses_map_id_to_name(id)) != NULL)
name = name2;
@@ -477,8 +482,8 @@
g_return_val_if_fail(name != NULL, NULL);
g_return_val_if_fail(*name != '\0', NULL);
- return g_object_new(GALAGO_TYPE_STATUS,
- "primitive", type,
+ return g_object_new(GALAGO_TYPE_STATUS_TYPE,
+ "primitive", primitive,
"id", id,
"name", name,
"exclusive", exclusive,
@@ -486,34 +491,25 @@
}
/**
- * galago_status_add_attribute
+ * galago_status_type_get_primitive
* @status: The status.
- */
-void
-galago_status_add_attribute(GalagoStatus *status, const char *attr_id,
- const char *attr_name, GType attr_type)
-{
-}
-
-/**
- * galago_status_get_primitive
- * @status: The status.
*
* Returns the primitive type of a status.
*
* Returns: The status's primitive type.
*/
-GalagoStatusType
-galago_status_get_primitive(const GalagoStatus *status)
+GalagoStatusPrimitive
+galago_status_type_get_primitive(const GalagoStatusType *status_type)
{
- g_return_val_if_fail(status != NULL, GALAGO_STATUS_UNSET);
- g_return_val_if_fail(GALAGO_IS_STATUS(status), GALAGO_STATUS_UNSET);
+ g_return_val_if_fail(status_type != NULL, GALAGO_STATUS_UNSET);
+ g_return_val_if_fail(GALAGO_IS_STATUS_TYPE(status_type),
+ GALAGO_STATUS_UNSET);
- return status->priv->primitive;
+ return status_type->priv->primitive;
}
/**
- * galago_status_get_id
+ * galago_status_type_get_id
* @status: The status.
*
* Returns the status's ID.
@@ -521,16 +517,16 @@
* Returns: The status's ID.
*/
const char *
-galago_status_get_id(const GalagoStatus *status)
+galago_status_type_get_id(const GalagoStatusType *status)
{
g_return_val_if_fail(status != NULL, NULL);
- g_return_val_if_fail(GALAGO_IS_STATUS(status), NULL);
+ g_return_val_if_fail(GALAGO_IS_STATUS_TYPE(status), NULL);
return status->priv->id;
}
/**
- * galago_status_get_name
+ * galago_status_type_get_name
* @status: The status.
*
* Returns the status's name.
@@ -538,16 +534,16 @@
* Returns: The status's name.
*/
const char *
-galago_status_get_name(const GalagoStatus *status)
+galago_status_type_get_name(const GalagoStatusType *status)
{
g_return_val_if_fail(status != NULL, NULL);
- g_return_val_if_fail(GALAGO_IS_STATUS(status), NULL);
+ g_return_val_if_fail(GALAGO_IS_STATUS_TYPE(status), NULL);
return status->priv->name;
}
/**
- * galago_status_is_exclusive
+ * galago_status_type_is_exclusive
* @status: The status.
*
* Returns whether or not a status is exclusive.
@@ -555,16 +551,16 @@
* Returns: TRUE if the status is exclusive, or FALSE.
*/
gboolean
-galago_status_is_exclusive(const GalagoStatus *status)
+galago_status_type_is_exclusive(const GalagoStatusType *status)
{
g_return_val_if_fail(status != NULL, FALSE);
- g_return_val_if_fail(GALAGO_IS_STATUS(status), FALSE);
+ g_return_val_if_fail(GALAGO_IS_STATUS_TYPE(status), FALSE);
return status->priv->exclusive;
}
/**
- * galago_status_is_available
+ * galago_status_type_is_available
* @status: The status.
*
* Returns whether or not a status is considered available.
@@ -572,15 +568,15 @@
* Returns: TRUE if the status is available, or FALSE.
*/
gboolean
-galago_status_is_available(const GalagoStatus *status)
+galago_status_type_is_available(const GalagoStatusType *status_type)
{
- GalagoStatusType type;
+ GalagoStatusPrimitive primitive;
- g_return_val_if_fail(status != NULL, FALSE);
- g_return_val_if_fail(GALAGO_IS_STATUS(status), FALSE);
+ g_return_val_if_fail(status_type != NULL, FALSE);
+ g_return_val_if_fail(GALAGO_IS_STATUS_TYPE(status_type), FALSE);
- type = galago_status_get_primitive(status);
+ primitive = galago_status_type_get_primitive(status_type);
- return type == GALAGO_STATUS_AVAILABLE ||
- type == GALAGO_STATUS_HIDDEN;
+ return primitive == GALAGO_STATUS_AVAILABLE ||
+ primitive == GALAGO_STATUS_HIDDEN;
}
Modified: branches/libgalago/push-presence/libgalago/galago-status-type.h
===================================================================
--- branches/libgalago/push-presence/libgalago/galago-status-type.h 2006-06-14 07:09:46 UTC (rev 2850)
+++ branches/libgalago/push-presence/libgalago/galago-status-type.h 2006-06-14 08:55:51 UTC (rev 2851)
@@ -40,9 +40,9 @@
#include <libgalago/galago-object.h>
#include <libgalago/galago-status-attr.h>
-/**************************************************************************/
-/** Common Status Definitions */
-/**************************************************************************/
+/**************************************************************************
+ * Common Status Definitions *
+ **************************************************************************/
#define GALAGO_STATUS_ID_AVAILABLE "available"
#define GALAGO_STATUS_ID_AWAY "away"
@@ -54,14 +54,14 @@
#define GALAGO_STATUS_ID_OFFLINE "offline"
-/**************************************************************************/
-/** Status API */
-/**************************************************************************/
+/**************************************************************************
+ * Status API *
+ **************************************************************************/
struct _GalagoStatusType
{
GalagoObject parent_object;
- GalagoStatusPrivate *priv;
+ GalagoStatusTypePrivate *priv;
};
struct _GalagoStatusTypeClass
More information about the galago-commits
mailing list