[Galago-commits] r2816 - in branches/libgalago/push-presence: .
libgalago
galago-commits at freedesktop.org
galago-commits at freedesktop.org
Fri May 26 00:10:03 PDT 2006
Author: chipx86
Date: 2006-05-26 00:09:59 -0700 (Fri, 26 May 2006)
New Revision: 2816
Added:
branches/libgalago/push-presence/libgalago/galago-status-type.c
branches/libgalago/push-presence/libgalago/galago-status-type.h
Removed:
branches/libgalago/push-presence/libgalago/galago-status.c
branches/libgalago/push-presence/libgalago/galago-status.h
Modified:
branches/libgalago/push-presence/ChangeLog
Log:
Rename galago-status.[ch] to galago-status-type.[ch].
Modified: branches/libgalago/push-presence/ChangeLog
===================================================================
--- branches/libgalago/push-presence/ChangeLog 2006-05-26 07:07:12 UTC (rev 2815)
+++ branches/libgalago/push-presence/ChangeLog 2006-05-26 07:09:59 UTC (rev 2816)
@@ -1,3 +1,11 @@
+Fri May 26 00:09:21 PDT 2006 Christian Hammond <chipx86 at chipx86.com>
+
+ A libgalago/galago-status-type.c:
+ A libgalago/galago-status-type.h:
+ D libgalago/galago-status.c:
+ D libgalago/galago-status.h:
+ - Rename galago-status.[ch] to galago-status-type.[ch].
+
Fri May 26 00:06:10 PDT 2006 Christian Hammond <chipx86 at chipx86.com>
* libgalago/galago-status.c:
Copied: branches/libgalago/push-presence/libgalago/galago-status-type.c (from rev 2815, branches/libgalago/push-presence/libgalago/galago-status.c)
Copied: branches/libgalago/push-presence/libgalago/galago-status-type.h (from rev 2815, branches/libgalago/push-presence/libgalago/galago-status.h)
Deleted: branches/libgalago/push-presence/libgalago/galago-status.c
===================================================================
--- branches/libgalago/push-presence/libgalago/galago-status.c 2006-05-26 07:07:12 UTC (rev 2815)
+++ branches/libgalago/push-presence/libgalago/galago-status.c 2006-05-26 07:09:59 UTC (rev 2816)
@@ -1,586 +0,0 @@
-/*
- * Galago Status API
- *
- * Copyright (C) 2004-2006 Christian Hammond
- *
- * 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., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-#include <libgalago/galago-private.h>
-#include <libgalago/galago-core.h>
-#include <libgalago/galago-enum-types.h>
-#include <libgalago/galago-key-value.h>
-#include <libgalago/galago-status.h>
-#include <stdio.h>
-#include <string.h>
-
-struct _GalagoStatusPrivate
-{
- GalagoStatusType primitive;
-
- char *id;
- char *name;
-
- gboolean exclusive;
-};
-
-enum
-{
- PROP_0,
- PROP_TYPE,
- PROP_PRESENCE,
- PROP_ID,
- PROP_NAME,
- PROP_EXCLUSIVE
-};
-
-static GHashTable *status_id_map_table = NULL;
-
-/**************************************************************************
- * 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 GalagoObjectClass *parent_class = NULL;
-
-G_DEFINE_TYPE(GalagoStatus, galago_status, GALAGO_TYPE_OBJECT);
-
-static void
-galago_status_class_init(GalagoStatusClass *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;
-
- gobject_class->set_property = galago_status_set_property;
- gobject_class->get_property = galago_status_get_property;
-
- g_object_class_install_property(gobject_class, PROP_TYPE,
- g_param_spec_enum("primitive", "Primitive",
- "The primitive type this status is based on",
- 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_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_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_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));
-}
-
-static void
-galago_status_init(GalagoStatus *status)
-{
- status->priv = g_new0(GalagoStatusPrivate, 1);
-}
-
-static void
-galago_status_destroy(GalagoObject *object)
-{
- GalagoStatus *status = GALAGO_STATUS(object);
-
- if (status->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;
- }
-
- if (GALAGO_OBJECT_CLASS(parent_class)->destroy != NULL)
- GALAGO_OBJECT_CLASS(parent_class)->destroy(object);
-}
-
-static void
-galago_status_dbus_message_append(DBusMessageIter *iter,
- const GalagoObject *object)
-{
- GalagoStatus *status = (GalagoStatus *)object;
- DBusMessageIter array_iter;
- GalagoStatusType type;
- 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);
-
- dbus_message_iter_append_basic(iter, DBUS_TYPE_BYTE, &type);
- 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);
-
-#if 0
- for (l = galago_object_get_attributes(GALAGO_OBJECT(status));
- l != NULL;
- l = l->next)
- {
- GalagoKeyValue *key_value = (GalagoKeyValue *)l->data;
-
- dbus_message_iter_open_container(&array_iter, DBUS_TYPE_STRUCT, NULL,
- &struct_iter);
- dbus_message_iter_append_basic(&struct_iter, DBUS_TYPE_STRING,
- &key_value->key);
-
- if (G_VALUE_HOLDS(key_value->value, G_TYPE_BOOLEAN))
- {
- gboolean value = g_value_get_boolean(key_value->value);
- dbus_message_iter_open_container(&struct_iter,
- DBUS_TYPE_VARIANT,
- DBUS_TYPE_BOOLEAN_AS_STRING,
- &value_iter);
- dbus_message_iter_append_basic(&value_iter,
- DBUS_TYPE_BOOLEAN, &value);
- dbus_message_iter_close_container(&struct_iter, &value_iter);
- }
- else if (G_VALUE_HOLDS(key_value->value, G_TYPE_STRING))
- {
- const char *value = g_value_get_string(key_value->value);
- dbus_message_iter_open_container(&struct_iter,
- DBUS_TYPE_VARIANT,
- DBUS_TYPE_STRING_AS_STRING,
- &value_iter);
- dbus_message_iter_append_basic(&value_iter,
- DBUS_TYPE_STRING, &value);
- dbus_message_iter_close_container(&struct_iter, &value_iter);
- }
- else if (G_VALUE_HOLDS(key_value->value, G_TYPE_INT))
- {
- int value = g_value_get_int(key_value->value);
- dbus_message_iter_open_container(&struct_iter,
- DBUS_TYPE_VARIANT,
- DBUS_TYPE_UINT32_AS_STRING,
- &value_iter);
- dbus_message_iter_append_basic(&value_iter,
- DBUS_TYPE_UINT32, &value);
- dbus_message_iter_close_container(&struct_iter, &value_iter);
- }
- else if (G_VALUE_HOLDS(key_value->value, G_TYPE_DOUBLE))
- {
- double value = g_value_get_double(key_value->value);
- dbus_message_iter_open_container(&struct_iter,
- DBUS_TYPE_VARIANT,
- DBUS_TYPE_DOUBLE_AS_STRING,
- &value_iter);
- dbus_message_iter_append_basic(&value_iter,
- DBUS_TYPE_DOUBLE, &value);
- dbus_message_iter_close_container(&struct_iter, &value_iter);
- }
- else
- g_assert_not_reached();
-
- dbus_message_iter_close_container(&array_iter, &struct_iter);
- }
-#endif
-
- dbus_message_iter_close_container(iter, &array_iter);
-}
-
-static void *
-galago_status_dbus_message_get(DBusMessageIter *iter)
-{
- GalagoStatus *status;
- DBusMessageIter array_iter, struct_iter, value_iter;
- char type;
- const char *id, *name;
- gboolean exclusive;
-
- dbus_message_iter_get_basic(iter, &type);
- dbus_message_iter_next(iter);
-
- dbus_message_iter_get_basic(iter, &id);
- dbus_message_iter_next(iter);
-
- dbus_message_iter_get_basic(iter, &name);
- dbus_message_iter_next(iter);
-
- dbus_message_iter_get_basic(iter, &exclusive);
- dbus_message_iter_next(iter);
-
- status = galago_status_new((GalagoStatusType)type, id, name, exclusive);
-
- dbus_message_iter_recurse(iter, &array_iter);
-
- while (dbus_message_iter_get_arg_type(&array_iter) != DBUS_TYPE_INVALID)
- {
- const char *attr_id;
-
- dbus_message_iter_recurse(&array_iter, &struct_iter);
- dbus_message_iter_get_basic(&struct_iter, &attr_id);
- dbus_message_iter_next(&struct_iter);
-
- dbus_message_iter_recurse(&struct_iter, &value_iter);
-
- switch (dbus_message_iter_get_arg_type(&value_iter))
- {
- case DBUS_TYPE_BOOLEAN:
- {
- gboolean value;
- dbus_message_iter_get_basic(&value_iter, &value);
- galago_object_set_attr_bool(GALAGO_OBJECT(status),
- attr_id, value);
- break;
- }
-
- case DBUS_TYPE_STRING:
- {
- const char *value;
- dbus_message_iter_get_basic(&value_iter, &value);
- galago_object_set_attr_string(GALAGO_OBJECT(status),
- attr_id, value);
- break;
- }
-
- case DBUS_TYPE_UINT32:
- {
- dbus_uint32_t value;
- dbus_message_iter_get_basic(&value_iter, &value);
- galago_object_set_attr_int(GALAGO_OBJECT(status),
- attr_id, value);
- break;
- }
-
- case DBUS_TYPE_DOUBLE:
- {
- double value;
- dbus_message_iter_get_basic(&value_iter, &value);
- galago_object_set_attr_double(GALAGO_OBJECT(status),
- attr_id, value);
- break;
- }
-
- default: /* This should never be reached. */
- g_assert_not_reached();
- break;
- }
-
- dbus_message_iter_next(&array_iter);
- }
-
- return status;
-}
-
-static const gchar *
-galago_status_attr_dbus_get_signature(void)
-{
- return DBUS_STRUCT_BEGIN_CHAR_AS_STRING
- DBUS_TYPE_STRING_AS_STRING // id
- DBUS_TYPE_VARIANT_AS_STRING // value
- DBUS_STRUCT_END_CHAR_AS_STRING;
-}
-
-static gchar *
-galago_status_dbus_get_signature(void)
-{
- return g_strconcat(
- DBUS_TYPE_BYTE_AS_STRING, // type
- DBUS_TYPE_STRING_AS_STRING, // id
- 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(),
- NULL);
-}
-
-static void
-galago_status_set_property(GObject *object, guint prop_id,
- const GValue *value, GParamSpec *pspec)
-{
- GalagoStatus *status = GALAGO_STATUS(object);
-
- switch (prop_id)
- {
- case PROP_TYPE:
- status->priv->primitive =
- (GalagoStatusType)g_value_get_enum(value);
- g_object_notify(object, "primitive");
- break;
-
- case PROP_ID:
- status->priv->id = g_value_dup_string(value);
- g_object_notify(object, "id");
- break;
-
- case PROP_NAME:
- status->priv->name = g_value_dup_string(value);
- g_object_notify(object, "name");
- break;
-
- case PROP_EXCLUSIVE:
- status->priv->exclusive = g_value_get_boolean(value);
- g_object_notify(object, "exclusive");
- break;
-
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
- break;
- }
-}
-
-static void
-galago_status_get_property(GObject *object, guint prop_id,
- GValue *value, GParamSpec *pspec)
-{
- GalagoStatus *status = GALAGO_STATUS(object);
-
- switch (prop_id)
- {
- case PROP_TYPE:
- g_value_set_enum(value, galago_status_get_primitive(status));
- break;
-
- case PROP_ID:
- g_value_set_string(value, galago_status_get_id(status));
- break;
-
- case PROP_NAME:
- g_value_set_string(value, galago_status_get_name(status));
- break;
-
- case PROP_EXCLUSIVE:
- g_value_set_boolean(value, galago_status_is_exclusive(status));
- break;
-
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
- break;
- }
-}
-
-
-/**************************************************************************
- * Status ID to Name mapping
- **************************************************************************/
-#define ADD_STATUS_MAP(id, name) \
- g_hash_table_insert(status_id_map_table, g_strdup(id), g_strdup(name));
-
-static gpointer
-_init_status_id_map_table(gpointer unused)
-{
- status_id_map_table =
- g_hash_table_new_full(g_str_hash, g_str_equal, g_free, g_free);
-
- ADD_STATUS_MAP(GALAGO_STATUS_ID_AVAILABLE, _("Available"));
- ADD_STATUS_MAP(GALAGO_STATUS_ID_AWAY, _("Away"));
- ADD_STATUS_MAP(GALAGO_STATUS_ID_BRB, _("Be Right Back"));
- ADD_STATUS_MAP(GALAGO_STATUS_ID_BUSY, _("Busy"));
- ADD_STATUS_MAP(GALAGO_STATUS_ID_DND, _("Do Not Disturb"));
- ADD_STATUS_MAP(GALAGO_STATUS_ID_EXTENDED_AWAY, _("Extended Away"));
- ADD_STATUS_MAP(GALAGO_STATUS_ID_HIDDEN, _("Hidden"));
- ADD_STATUS_MAP(GALAGO_STATUS_ID_OFFLINE, _("Offline"));
-
- return NULL;
-}
-
-static const char *
-_galago_statuses_map_id_to_name(const char *id)
-{
- static GOnce map_init = G_ONCE_INIT;
-
- g_return_val_if_fail(id != NULL, NULL);
- g_return_val_if_fail(*id != '\0', NULL);
-
- g_once(&map_init, _init_status_id_map_table, NULL);
-
- return (const char *)g_hash_table_lookup(status_id_map_table, id);
-}
-
-/**************************************************************************
- * GalagoStatus API
- **************************************************************************/
-
-/**
- * galago_status_new
- * @type: The type of status.
- * @id: The status ID.
- * @name: The name of the status.
- * @exclusive: TRUE if the status is exclusive.
- *
- * Creates a new status.
- *
- * If exclusive is TRUE, the status will be exclusive. Only one
- * exclusive status can be set at a time. If another exclusive status
- * is set, the previously set exclusive status will be removed.
- *
- * If exclusive is FALSE, the status will not be removed unless
- * manually removed.
- *
- * Returns: The status.
- */
-GalagoStatus *
-galago_status_new(GalagoStatusType type, 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);
-
- if ((name2 = _galago_statuses_map_id_to_name(id)) != NULL)
- name = name2;
-
- 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,
- "id", id,
- "name", name,
- "exclusive", exclusive,
- NULL);
-}
-
-/**
- * galago_status_add_attribute
- * @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)
-{
- g_return_val_if_fail(status != NULL, GALAGO_STATUS_UNSET);
- g_return_val_if_fail(GALAGO_IS_STATUS(status), GALAGO_STATUS_UNSET);
-
- return status->priv->primitive;
-}
-
-/**
- * galago_status_get_id
- * @status: The status.
- *
- * Returns the status's ID.
- *
- * Returns: The status's ID.
- */
-const char *
-galago_status_get_id(const GalagoStatus *status)
-{
- g_return_val_if_fail(status != NULL, NULL);
- g_return_val_if_fail(GALAGO_IS_STATUS(status), NULL);
-
- return status->priv->id;
-}
-
-/**
- * galago_status_get_name
- * @status: The status.
- *
- * Returns the status's name.
- *
- * Returns: The status's name.
- */
-const char *
-galago_status_get_name(const GalagoStatus *status)
-{
- g_return_val_if_fail(status != NULL, NULL);
- g_return_val_if_fail(GALAGO_IS_STATUS(status), NULL);
-
- return status->priv->name;
-}
-
-/**
- * galago_status_is_exclusive
- * @status: The status.
- *
- * Returns whether or not a status is exclusive.
- *
- * Returns: TRUE if the status is exclusive, or FALSE.
- */
-gboolean
-galago_status_is_exclusive(const GalagoStatus *status)
-{
- g_return_val_if_fail(status != NULL, FALSE);
- g_return_val_if_fail(GALAGO_IS_STATUS(status), FALSE);
-
- return status->priv->exclusive;
-}
-
-/**
- * galago_status_is_available
- * @status: The status.
- *
- * Returns whether or not a status is considered available.
- *
- * Returns: TRUE if the status is available, or FALSE.
- */
-gboolean
-galago_status_is_available(const GalagoStatus *status)
-{
- GalagoStatusType type;
-
- g_return_val_if_fail(status != NULL, FALSE);
- g_return_val_if_fail(GALAGO_IS_STATUS(status), FALSE);
-
- type = galago_status_get_primitive(status);
-
- return type == GALAGO_STATUS_AVAILABLE ||
- type == GALAGO_STATUS_HIDDEN;
-}
Deleted: branches/libgalago/push-presence/libgalago/galago-status.h
===================================================================
--- branches/libgalago/push-presence/libgalago/galago-status.h 2006-05-26 07:07:12 UTC (rev 2815)
+++ branches/libgalago/push-presence/libgalago/galago-status.h 2006-05-26 07:09:59 UTC (rev 2816)
@@ -1,130 +0,0 @@
-/*
- * Galago Status API
- *
- * Copyright (C) 2004-2006 Christian Hammond
- *
- * 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., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-#ifndef _GALAGO_STATUS_H_
-#define _GALAGO_STATUS_H_
-
-typedef struct _GalagoStatus GalagoStatus;
-typedef struct _GalagoStatusClass GalagoStatusClass;
-typedef struct _GalagoStatusPrivate GalagoStatusPrivate;
-
-typedef enum
-{
- GALAGO_STATUS_UNSET = 0,
- GALAGO_STATUS_OFFLINE,
- GALAGO_STATUS_AVAILABLE,
- GALAGO_STATUS_AWAY,
- GALAGO_STATUS_EXTENDED_AWAY,
- GALAGO_STATUS_HIDDEN
-
-} GalagoStatusType;
-
-#include <libgalago/galago-presence.h>
-#include <libgalago/galago-object.h>
-
-/**************************************************************************/
-/** Common Status Definitions */
-/**************************************************************************/
-
-#define GALAGO_STATUS_ID_AVAILABLE "available"
-#define GALAGO_STATUS_ID_AWAY "away"
-#define GALAGO_STATUS_ID_BRB "brb"
-#define GALAGO_STATUS_ID_BUSY "busy"
-#define GALAGO_STATUS_ID_DND "dnd"
-#define GALAGO_STATUS_ID_EXTENDED_AWAY "xa"
-#define GALAGO_STATUS_ID_HIDDEN "hidden"
-#define GALAGO_STATUS_ID_OFFLINE "offline"
-
-/**************************************************************************/
-/** Common Status Attributes */
-/**************************************************************************/
-
-/**
- * A message attribute, typically used for custom away and available messages.
- */
-#define GALAGO_STATUS_ATTR_MESSAGE "message"
-
-/**************************************************************************/
-/** Status API */
-/**************************************************************************/
-
-struct _GalagoStatus
-{
- GalagoObject parent_object;
-
- GalagoStatusPrivate *priv;
-
- void (*reserved_1)(void);
- void (*reserved_2)(void);
- void (*reserved_3)(void);
- void (*reserved_4)(void);
-};
-
-struct _GalagoStatusClass
-{
- GalagoObjectClass parent_class;
-
- void (*reserved_1)(void);
- void (*reserved_2)(void);
- void (*reserved_3)(void);
- void (*reserved_4)(void);
-};
-
-#define GALAGO_TYPE_STATUS (galago_status_get_type())
-#define GALAGO_STATUS(obj) \
- (G_TYPE_CHECK_INSTANCE_CAST((obj), GALAGO_TYPE_STATUS, \
- GalagoStatus))
-#define GALAGO_STATUS_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_CAST((klass), GALAGO_TYPE_STATUS, \
- GalagoStatusClass))
-#define GALAGO_IS_STATUS(obj) \
- (G_TYPE_CHECK_INSTANCE_TYPE((obj), GALAGO_TYPE_STATUS))
-#define GALAGO_IS_STATUS_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_TYPE((klass), GALAGO_TYPE_STATUS))
-#define GALAGO_STATUS_GET_CLASS(obj) \
- (G_TYPE_INSTANCE_GET_CLASS((obj), GALAGO_TYPE_STATUS, \
- GalagoStatusClass))
-
-G_BEGIN_DECLS
-
-GType galago_status_get_type(void);
-
-GalagoStatus *galago_status_new(GalagoStatusType type, const char *id,
- const char *name, gboolean exclusive);
-GalagoStatus *galago_status_new_with_attrs(GalagoStatusType type,
- const char *id,
- const char *name,
- gboolean exclusive,
- const char *attr_id,
- const char *attr_name,
- GType attr_type, ...);
-void galago_status_add_attribute(GalagoStatus *status, const char *attr_id,
- const char *attr_name, GType attr_type);
-
-GalagoStatusType galago_status_get_primitive(const GalagoStatus *status);
-const char *galago_status_get_id(const GalagoStatus *status);
-const char *galago_status_get_name(const GalagoStatus *status);
-
-gboolean galago_status_is_exclusive(const GalagoStatus *status);
-gboolean galago_status_is_available(const GalagoStatus *status);
-
-G_END_DECLS
-
-#endif /* _GALAGO_STATUS_H_ */
More information about the galago-commits
mailing list