aboutsummaryrefslogtreecommitdiff
path: root/src/ld-symbol-library.c
diff options
context:
space:
mode:
authorPřemysl Janouch <p.janouch@gmail.com>2010-09-25 16:03:48 +0200
committerPřemysl Janouch <p.janouch@gmail.com>2010-10-17 14:05:53 +0200
commit5da5689541aa5bca6b056a2372bcd3410f6475b2 (patch)
treed1c3e0c866e3f0c6b0efa047737e331beb6a8494 /src/ld-symbol-library.c
parent25668c20731722316ca78767ca0cddbf04a988a7 (diff)
downloadlogdiag-5da5689541aa5bca6b056a2372bcd3410f6475b2.tar.gz
logdiag-5da5689541aa5bca6b056a2372bcd3410f6475b2.tar.xz
logdiag-5da5689541aa5bca6b056a2372bcd3410f6475b2.zip
WIP: Refactoring of the library and symbols
Diffstat (limited to 'src/ld-symbol-library.c')
-rw-r--r--src/ld-symbol-library.c22
1 files changed, 15 insertions, 7 deletions
diff --git a/src/ld-symbol-library.c b/src/ld-symbol-library.c
index 2b6738a..2f5f9d3 100644
--- a/src/ld-symbol-library.c
+++ b/src/ld-symbol-library.c
@@ -9,8 +9,6 @@
*/
#include <gtk/gtk.h>
-#include <lua.h>
-/* #include <lauxlib.h> */
#include "config.h"
@@ -29,11 +27,11 @@
/*
* LdSymbolLibraryPrivate:
- * @lua_state: Lua state.
+ * @script_state: State of the scripting language.
*/
struct _LdSymbolLibraryPrivate
{
- lua_State *lua_state;
+ gpointer script_state;
};
G_DEFINE_TYPE (LdSymbolLibrary, ld_symbol_library, G_TYPE_OBJECT);
@@ -70,8 +68,8 @@ ld_symbol_library_init (LdSymbolLibrary *self)
self->priv = G_TYPE_INSTANCE_GET_PRIVATE
(self, LD_TYPE_SYMBOL_LIBRARY, LdSymbolLibraryPrivate);
- /* TODO: lua */
- self->priv->lua_state = NULL;
+ /* 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);
@@ -151,6 +149,7 @@ 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);
@@ -169,8 +168,15 @@ ld_symbol_library_load (LdSymbolLibrary *self, const char *path)
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;
}
@@ -186,6 +192,8 @@ ld_symbol_library_clear (LdSymbolLibrary *self)
g_return_if_fail (LD_IS_SYMBOL_LIBRARY (self));
g_hash_table_remove_all (self->categories);
- return;
+
+ g_signal_emit (self,
+ LD_SYMBOL_LIBRARY_GET_CLASS (self)->changed_signal, 0);
}