aboutsummaryrefslogtreecommitdiff
path: root/src/ld-symbol-library.c
diff options
context:
space:
mode:
authorPřemysl Janouch <p.janouch@gmail.com>2010-09-25 16:14:09 +0200
committerPřemysl Janouch <p.janouch@gmail.com>2010-10-17 14:05:53 +0200
commitc0ec389b597b5132e7db26eca3fff41fd87c0f7e (patch)
tree29d52c9f96f0d78d34086d18903073673532f0b3 /src/ld-symbol-library.c
parent5da5689541aa5bca6b056a2372bcd3410f6475b2 (diff)
downloadlogdiag-c0ec389b597b5132e7db26eca3fff41fd87c0f7e.tar.gz
logdiag-c0ec389b597b5132e7db26eca3fff41fd87c0f7e.tar.xz
logdiag-c0ec389b597b5132e7db26eca3fff41fd87c0f7e.zip
Renamed LdSymbolLibrary to LdLibrary.
Diffstat (limited to 'src/ld-symbol-library.c')
-rw-r--r--src/ld-symbol-library.c199
1 files changed, 0 insertions, 199 deletions
diff --git a/src/ld-symbol-library.c b/src/ld-symbol-library.c
deleted file mode 100644
index 2f5f9d3..0000000
--- a/src/ld-symbol-library.c
+++ /dev/null
@@ -1,199 +0,0 @@
-/*
- * ld-symbol-library.c
- *
- * This file is a part of logdiag.
- * Copyright Přemysl Janouch 2010. All rights reserved.
- *
- * See the file LICENSE for licensing information.
- *
- */
-
-#include <gtk/gtk.h>
-
-#include "config.h"
-
-#include "ld-symbol-library.h"
-#include "ld-symbol-category.h"
-#include "ld-symbol.h"
-
-
-/**
- * SECTION:ld-symbol-library
- * @short_description: A symbol library.
- * @see_also: #LdSymbol, #LdSymbolCategory
- *
- * #LdSymbolLibrary is used for loading symbols from their files.
- */
-
-/*
- * LdSymbolLibraryPrivate:
- * @script_state: State of the scripting language.
- */
-struct _LdSymbolLibraryPrivate
-{
- gpointer script_state;
-};
-
-G_DEFINE_TYPE (LdSymbolLibrary, ld_symbol_library, G_TYPE_OBJECT);
-
-static void
-ld_symbol_library_finalize (GObject *gobject);
-
-
-static void
-ld_symbol_library_class_init (LdSymbolLibraryClass *klass)
-{
- GObjectClass *object_class;
-
- object_class = G_OBJECT_CLASS (klass);
- object_class->finalize = ld_symbol_library_finalize;
-
-/**
- * LdSymbolLibrary::changed:
- * @library: The library object.
- *
- * Contents of the library have changed.
- */
- klass->changed_signal = g_signal_new
- ("changed", G_TYPE_FROM_CLASS (object_class),
- G_SIGNAL_RUN_LAST | G_SIGNAL_NO_RECURSE | G_SIGNAL_NO_HOOKS,
- 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
-
- g_type_class_add_private (klass, sizeof (LdSymbolLibraryPrivate));
-}
-
-static void
-ld_symbol_library_init (LdSymbolLibrary *self)
-{
- self->priv = G_TYPE_INSTANCE_GET_PRIVATE
- (self, LD_TYPE_SYMBOL_LIBRARY, LdSymbolLibraryPrivate);
-
- /* TODO */
- self->priv->script_state = NULL;
-
- self->categories = g_hash_table_new_full (g_str_hash, g_str_equal,
- (GDestroyNotify) g_free, (GDestroyNotify) g_object_unref);
-}
-
-static void
-ld_symbol_library_finalize (GObject *gobject)
-{
- LdSymbolLibrary *self;
-
- self = LD_SYMBOL_LIBRARY (gobject);
-
- g_hash_table_destroy (self->categories);
-
- /* Chain up to the parent class. */
- G_OBJECT_CLASS (ld_symbol_library_parent_class)->finalize (gobject);
-}
-
-/**
- * ld_symbol_library_new:
- *
- * Create an instance.
- */
-LdSymbolLibrary *
-ld_symbol_library_new (void)
-{
- return g_object_new (LD_TYPE_SYMBOL_LIBRARY, NULL);
-}
-
-/*
- * load_category:
- * @self: A symbol library object.
- * @path: The path to the category.
- * @name: The default name of the category.
- *
- * Loads a category into the library.
- */
-static LdSymbolCategory *
-load_category (LdSymbolLibrary *self, const char *path, const char *name)
-{
- LdSymbolCategory *cat;
- gchar *icon_file;
-
- g_return_val_if_fail (LD_IS_SYMBOL_LIBRARY (self), NULL);
- g_return_val_if_fail (path != NULL, NULL);
- g_return_val_if_fail (name != NULL, NULL);
-
- if (!g_file_test (path, G_FILE_TEST_IS_DIR))
- return NULL;
-
- icon_file = g_build_filename (path, "icon.svg", NULL);
- if (!g_file_test (icon_file, G_FILE_TEST_IS_REGULAR))
- {
- g_warning ("The category in %s has no icon.", path);
- g_free (icon_file);
- return NULL;
- }
-
- /* TODO: Search for category.json and read the category name from it. */
- /* TODO: Search for xyz.lua and load the objects into the category. */
-
- cat = ld_symbol_category_new (self);
- cat->name = g_strdup (name);
- cat->image_path = icon_file;
- return cat;
-}
-
-/**
- * ld_symbol_library_load:
- * @self: A symbol library object.
- * @directory: A directory to be loaded.
- *
- * Load the contents of a directory into the library.
- */
-gboolean
-ld_symbol_library_load (LdSymbolLibrary *self, const char *path)
-{
- GDir *dir;
- const gchar *item;
- gboolean changed = FALSE;
-
- g_return_val_if_fail (LD_IS_SYMBOL_LIBRARY (self), FALSE);
- g_return_val_if_fail (path != NULL, FALSE);
-
- dir = g_dir_open (path, 0, NULL);
- if (!dir)
- return FALSE;
-
- while ((item = g_dir_read_name (dir)))
- {
- LdSymbolCategory *cat;
- gchar *categ_path;
-
- categ_path = g_build_filename (path, item, NULL);
- cat = load_category (self, categ_path, item);
- if (cat)
- g_hash_table_insert (self->categories, cat->name, cat);
- g_free (categ_path);
-
- changed = TRUE;
- }
- g_dir_close (dir);
-
- if (changed)
- g_signal_emit (self,
- LD_SYMBOL_LIBRARY_GET_CLASS (self)->changed_signal, 0);
-
- return TRUE;
-}
-
-/**
- * ld_symbol_library_clear:
- * @self: A symbol library object.
- *
- * Clears all the contents.
- */
-void
-ld_symbol_library_clear (LdSymbolLibrary *self)
-{
- g_return_if_fail (LD_IS_SYMBOL_LIBRARY (self));
-
- g_hash_table_remove_all (self->categories);
-
- g_signal_emit (self,
- LD_SYMBOL_LIBRARY_GET_CLASS (self)->changed_signal, 0);
-}
-