61 lines
1.3 KiB
C
61 lines
1.3 KiB
C
#include "scanner.h"
|
|
|
|
struct _YacosScanner {
|
|
GObject parent_instance;
|
|
|
|
// TODO: Private data goes here
|
|
};
|
|
|
|
G_DEFINE_TYPE(YacosScanner, yacos_scanner, G_TYPE_OBJECT)
|
|
|
|
enum {
|
|
SIGNAL_NEWTAG = 0,
|
|
SIGNAL_COUNT
|
|
};
|
|
guint yacos_scanner_signals[SIGNAL_COUNT];
|
|
|
|
static gboolean *yacos_scanner_read (gpointer user_data)
|
|
{
|
|
YacosScanner *self = YACOS_SCANNER(user_data);
|
|
|
|
// TODO: Scan for tags
|
|
g_signal_emit(self, yacos_scanner_signals[SIGNAL_NEWTAG], 0);
|
|
|
|
return G_SOURCE_CONTINUE;
|
|
}
|
|
|
|
static void yacos_scanner_finalize(GObject *gobject)
|
|
{
|
|
YacosScanner *obj = yacos_scanner_get_instance_private(YACOS_SCANNER(gobject));
|
|
|
|
// TODO: clean up
|
|
|
|
G_OBJECT_CLASS(yacos_scanner_parent_class)->finalize(gobject);
|
|
}
|
|
|
|
static void yacos_scanner_class_init(YacosScannerClass *klass)
|
|
{
|
|
GObjectClass *object_class = G_OBJECT_CLASS(klass);
|
|
|
|
yacos_scanner_signals[SIGNAL_NEWTAG] =
|
|
g_signal_newv("newtag",
|
|
G_TYPE_FROM_CLASS(object_class),
|
|
G_SIGNAL_RUN_LAST | G_SIGNAL_NO_RECURSE | G_SIGNAL_NO_HOOKS,
|
|
NULL, NULL, NULL, NULL,
|
|
G_TYPE_NONE,
|
|
0,
|
|
NULL);
|
|
|
|
object_class->finalize = yacos_scanner_finalize;
|
|
}
|
|
|
|
static void yacos_scanner_init(YacosScanner *self)
|
|
{
|
|
g_timeout_add(1000, G_SOURCE_FUNC(yacos_scanner_read), self);
|
|
}
|
|
|
|
YacosScanner *yacos_scanner_new(void)
|
|
{
|
|
return g_object_new(YACOS_TYPE_SCANNER, 0);
|
|
}
|