diff options
Diffstat (limited to 'src/ld-symbol-category.c')
-rw-r--r-- | src/ld-symbol-category.c | 339 |
1 files changed, 0 insertions, 339 deletions
diff --git a/src/ld-symbol-category.c b/src/ld-symbol-category.c deleted file mode 100644 index e4b86a9..0000000 --- a/src/ld-symbol-category.c +++ /dev/null @@ -1,339 +0,0 @@ -/* - * ld-symbol-category.c - * - * This file is a part of logdiag. - * Copyright Přemysl Janouch 2010 - 2011. All rights reserved. - * - * See the file LICENSE for licensing information. - * - */ - -#include "liblogdiag.h" -#include "config.h" - - -/** - * SECTION:ld-symbol-category - * @short_description: A category of symbols. - * @see_also: #LdSymbol, #LdLibrary - * - * #LdSymbolCategory represents a category of #LdSymbol objects. - */ - -/* - * LdSymbolCategoryPrivate: - * @name: The name of this category. - * @image_path: Path to the image for this category. - * @children: Children of this category. - */ -struct _LdSymbolCategoryPrivate -{ - gchar *name; - gchar *human_name; - gchar *image_path; - GSList *children; -}; - -enum -{ - PROP_0, - PROP_NAME, - PROP_HUMAN_NAME, - PROP_IMAGE_PATH -}; - -static void ld_symbol_category_get_property (GObject *object, guint property_id, - GValue *value, GParamSpec *pspec); -static void ld_symbol_category_set_property (GObject *object, guint property_id, - const GValue *value, GParamSpec *pspec); -static void ld_symbol_category_finalize (GObject *gobject); - - -G_DEFINE_TYPE (LdSymbolCategory, ld_symbol_category, G_TYPE_OBJECT); - -static void -ld_symbol_category_class_init (LdSymbolCategoryClass *klass) -{ - GObjectClass *object_class; - GParamSpec *pspec; - - object_class = G_OBJECT_CLASS (klass); - object_class->get_property = ld_symbol_category_get_property; - object_class->set_property = ld_symbol_category_set_property; - object_class->finalize = ld_symbol_category_finalize; - -/** - * LdSymbolCategory:name: - * - * The name of this symbol category. - */ - pspec = g_param_spec_string ("name", "Name", - "The name of this symbol category.", - "", G_PARAM_READWRITE); - g_object_class_install_property (object_class, PROP_NAME, pspec); - -/** - * LdSymbolCategory:human-name: - * - * The localized human name of this symbol category. - */ - pspec = g_param_spec_string ("human-name", "Human name", - "The localized human name of this symbol category.", - "", G_PARAM_READWRITE); - g_object_class_install_property (object_class, PROP_HUMAN_NAME, pspec); - -/** - * LdSymbolCategory:image-path: - * - * Path to an image file representing this category. - */ - pspec = g_param_spec_string ("image-path", "Image path", - "Path to an image file representing this category.", - "", G_PARAM_READWRITE); - g_object_class_install_property (object_class, PROP_IMAGE_PATH, pspec); - - g_type_class_add_private (klass, sizeof (LdSymbolCategoryPrivate)); -} - -static void -ld_symbol_category_init (LdSymbolCategory *self) -{ - self->priv = G_TYPE_INSTANCE_GET_PRIVATE - (self, LD_TYPE_SYMBOL_CATEGORY, LdSymbolCategoryPrivate); -} - -static void -ld_symbol_category_get_property (GObject *object, guint property_id, - GValue *value, GParamSpec *pspec) -{ - LdSymbolCategory *self; - - self = LD_SYMBOL_CATEGORY (object); - switch (property_id) - { - case PROP_NAME: - g_value_set_string (value, ld_symbol_category_get_name (self)); - break; - case PROP_HUMAN_NAME: - g_value_set_string (value, ld_symbol_category_get_human_name (self)); - break; - case PROP_IMAGE_PATH: - g_value_set_string (value, ld_symbol_category_get_image_path (self)); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); - } -} - -static void -ld_symbol_category_set_property (GObject *object, guint property_id, - const GValue *value, GParamSpec *pspec) -{ - LdSymbolCategory *self; - - self = LD_SYMBOL_CATEGORY (object); - switch (property_id) - { - case PROP_NAME: - ld_symbol_category_set_name (self, g_value_get_string (value)); - break; - case PROP_HUMAN_NAME: - ld_symbol_category_set_human_name (self, g_value_get_string (value)); - break; - case PROP_IMAGE_PATH: - ld_symbol_category_set_image_path (self, g_value_get_string (value)); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); - } -} - -static void -ld_symbol_category_finalize (GObject *gobject) -{ - LdSymbolCategory *self; - - self = LD_SYMBOL_CATEGORY (gobject); - - if (self->priv->name) - g_free (self->priv->name); - if (self->priv->human_name) - g_free (self->priv->human_name); - if (self->priv->image_path) - g_free (self->priv->image_path); - - g_slist_foreach (self->priv->children, (GFunc) g_object_unref, NULL); - g_slist_free (self->priv->children); - - /* Chain up to the parent class. */ - G_OBJECT_CLASS (ld_symbol_category_parent_class)->finalize (gobject); -} - - -/** - * ld_symbol_category_new: - * @name: The name of the new category. - * @human_name: The localized human name of the new category. - * - * Create an instance. - */ -LdSymbolCategory * -ld_symbol_category_new (const gchar *name, const gchar *human_name) -{ - LdSymbolCategory *cat; - - g_return_val_if_fail (name != NULL, NULL); - g_return_val_if_fail (human_name != NULL, NULL); - - cat = g_object_new (LD_TYPE_SYMBOL_CATEGORY, NULL); - cat->priv->name = g_strdup (name); - cat->priv->human_name = g_strdup (human_name); - - return cat; -} - -/** - * ld_symbol_category_set_name: - * @self: An #LdSymbolCategory object. - * @name: The new name for this category. - */ -void -ld_symbol_category_set_name (LdSymbolCategory *self, const gchar *name) -{ - g_return_if_fail (LD_IS_SYMBOL_CATEGORY (self)); - g_return_if_fail (name != NULL); - - if (self->priv->name) - g_free (self->priv->name); - self->priv->name = g_strdup (name); - - g_object_notify (G_OBJECT (self), "name"); -} - -/** - * ld_symbol_category_get_name: - * @self: An #LdSymbolCategory object. - * - * Return the name of this category. - */ -const gchar * -ld_symbol_category_get_name (LdSymbolCategory *self) -{ - g_return_val_if_fail (LD_IS_SYMBOL_CATEGORY (self), NULL); - return self->priv->name; -} - -/** - * ld_symbol_category_set_human_name: - * @self: An #LdSymbolCategory object. - * @human_name: The new localized human name for this category. - */ -void -ld_symbol_category_set_human_name (LdSymbolCategory *self, - const gchar *human_name) -{ - g_return_if_fail (LD_IS_SYMBOL_CATEGORY (self)); - g_return_if_fail (human_name != NULL); - - if (self->priv->human_name) - g_free (self->priv->human_name); - self->priv->human_name = g_strdup (human_name); - - g_object_notify (G_OBJECT (self), "human-name"); -} - -/** - * ld_symbol_category_get_human_name: - * @self: An #LdSymbolCategory object. - * - * Return the localized human name of this category. - */ -const gchar * -ld_symbol_category_get_human_name (LdSymbolCategory *self) -{ - g_return_val_if_fail (LD_IS_SYMBOL_CATEGORY (self), NULL); - return self->priv->human_name; -} - -/** - * ld_symbol_category_set_image_path: - * @self: An #LdSymbolCategory object. - * @image_path: The new path to the image for this category. May be NULL. - */ -void -ld_symbol_category_set_image_path (LdSymbolCategory *self, - const gchar *image_path) -{ - g_return_if_fail (LD_IS_SYMBOL_CATEGORY (self)); - - if (self->priv->image_path) - g_free (self->priv->image_path); - self->priv->image_path = g_strdup (image_path); - - g_object_notify (G_OBJECT (self), "image-path"); -} - -/** - * ld_symbol_category_get_image_path: - * @self: An #LdSymbolCategory object. - * - * Return the filesystem path to the image for this category. May be NULL. - */ -const gchar * -ld_symbol_category_get_image_path (LdSymbolCategory *self) -{ - g_return_val_if_fail (LD_IS_SYMBOL_CATEGORY (self), NULL); - return self->priv->image_path; -} - -/** - * ld_symbol_category_insert_child: - * @self: An #LdSymbolCategory object. - * @child: The child to be inserted. - * @pos: The position at which the child will be inserted. - * Negative values will append to the end of list. - * - * Insert a child into the category. - */ -void -ld_symbol_category_insert_child (LdSymbolCategory *self, - GObject *child, gint pos) -{ - g_return_if_fail (LD_IS_SYMBOL_CATEGORY (self)); - g_return_if_fail (G_IS_OBJECT (child)); - - g_object_ref (child); - self->priv->children = g_slist_insert (self->priv->children, child, pos); -} - -/** - * ld_symbol_category_remove_child: - * @self: An #LdSymbolCategory object. - * @child: The child to be removed. - * - * Removes a child from the category. - */ -void -ld_symbol_category_remove_child (LdSymbolCategory *self, - GObject *child) -{ - g_return_if_fail (LD_IS_SYMBOL_CATEGORY (self)); - g_return_if_fail (G_IS_OBJECT (child)); - - g_object_unref (child); - self->priv->children = g_slist_remove (self->priv->children, child); -} - -/** - * ld_symbol_category_get_children: - * @self: An #LdSymbolCategory object. - * - * Return value: The internal list of children. Do not modify. - */ -const GSList * -ld_symbol_category_get_children (LdSymbolCategory *self) -{ - g_return_val_if_fail (LD_IS_SYMBOL_CATEGORY (self), NULL); - return self->priv->children; -} - |