From d1386568664fe5ff4a20d273585d193f3321bae0 Mon Sep 17 00:00:00 2001 From: Philipp Zabel Date: Thu, 12 Nov 2009 15:04:37 +0100 Subject: [PATCH] Provide plugins with Osso context --- Makefile.am | 12 ++++++------ src/main.vala | 6 +++--- src/plugin-interface.vala | 2 +- src/plugins/google-plugin.vala | 2 +- src/plugins/imdb-plugin.vala | 5 ++++- 5 files changed, 15 insertions(+), 12 deletions(-) diff --git a/Makefile.am b/Makefile.am index e79c281..b93d76e 100644 --- a/Makefile.am +++ b/Makefile.am @@ -85,9 +85,9 @@ libgoogle_plugin_la_VALASOURCES = \ src/plugins/google-parser.vala libgoogle_plugin_la_VALAFLAGS = --vapidir ./vapi --pkg config \ - --pkg hildon-1 -libgoogle_plugin_la_CFLAGS = ${HILDON_CFLAGS} -libgoogle_plugin_la_LIBADD = ${HILDON_LIBS} + --pkg hildon-1 --pkg libosso +libgoogle_plugin_la_CFLAGS = ${HILDON_CFLAGS} ${OSSO_CFLAGS} +libgoogle_plugin_la_LIBADD = ${HILDON_LIBS} ${OSSO_LIBS} libgoogle_plugin_la_LDFLAGS = -module ${libgoogle_plugin_la_SOURCES}: ${libgoogle_plugin_la_VALASOURCES} @@ -112,9 +112,9 @@ libimdb_plugin_la_VALASOURCES = \ src/plugins/imdb-download-dialog.vala libimdb_plugin_la_VALAFLAGS = --vapidir ./vapi --pkg config \ - --pkg dbus-glib-1 --pkg hildon-1 --pkg sqlite3 -libimdb_plugin_la_CFLAGS = ${DBUS_CFLAGS} ${HILDON_CFLAGS} ${SQLITE3_CFLAGS} -libimdb_plugin_la_LIBADD = ${DBUS_LIBS} ${HILDON_LIBS} ${SQLITE3_LIBS} + --pkg dbus-glib-1 --pkg hildon-1 --pkg libosso --pkg sqlite3 +libimdb_plugin_la_CFLAGS = ${DBUS_CFLAGS} ${HILDON_CFLAGS} ${OSSO_CFLAGS} ${SQLITE3_CFLAGS} +libimdb_plugin_la_LIBADD = ${DBUS_LIBS} ${HILDON_LIBS} ${OSSO_LIBS} ${SQLITE3_LIBS} libimdb_plugin_la_LDFLAGS = -module ${libimdb_plugin_la_SOURCES}: ${libimdb_plugin_la_VALASOURCES} diff --git a/src/main.vala b/src/main.vala index f580ccf..a833fc3 100644 --- a/src/main.vala +++ b/src/main.vala @@ -31,7 +31,7 @@ public class CinaestProgram : Hildon.Program { add_window (window); } - public void register_plugins () { + public void register_plugins (Osso.Context context) { string plugin_path = Config.PKGLIBDIR; try { var directory = File.new_for_path (plugin_path); @@ -50,7 +50,7 @@ public class CinaestProgram : Hildon.Program { plugin = registrar.new_object (); plugins.append (plugin); - plugin.hello (window); + plugin.hello (window, context); } } @@ -60,7 +60,6 @@ public class CinaestProgram : Hildon.Program { } public void run () { - register_plugins (); // FIXME - always start with the first plugin's first source for now if (plugins != null) { var plugin = plugins.first ().data; @@ -83,6 +82,7 @@ public class CinaestProgram : Hildon.Program { } CinaestProgram app = new CinaestProgram (); + app.register_plugins (osso_context); app.run (); return 0; diff --git a/src/plugin-interface.vala b/src/plugin-interface.vala index d0ba953..70c73d5 100644 --- a/src/plugin-interface.vala +++ b/src/plugin-interface.vala @@ -17,7 +17,7 @@ */ public abstract class Plugin : Object { - public abstract void hello (Gtk.Window window); + public abstract void hello (Gtk.Window window, Osso.Context context); public abstract unowned List get_sources (); diff --git a/src/plugins/google-plugin.vala b/src/plugins/google-plugin.vala index 534c139..3ef966c 100644 --- a/src/plugins/google-plugin.vala +++ b/src/plugins/google-plugin.vala @@ -22,7 +22,7 @@ using Hildon; class GooglePlugin : Plugin { List sources; - public override void hello (Gtk.Window window) { + public override void hello (Gtk.Window window, Osso.Context context) { stdout.printf ("Google Plugin Loaded.\n"); var source = new GoogleSource (); diff --git a/src/plugins/imdb-plugin.vala b/src/plugins/imdb-plugin.vala index 3382cb1..b2a5f05 100644 --- a/src/plugins/imdb-plugin.vala +++ b/src/plugins/imdb-plugin.vala @@ -22,8 +22,9 @@ using Hildon; class IMDbPlugin : Plugin { private dynamic DBus.Object server; List sources; + private weak Osso.Context osso_context; - public override void hello (Gtk.Window window) { + public override void hello (Gtk.Window window, Osso.Context context) { string filename = Path.build_filename (Environment.get_user_cache_dir(), "cinaest", "imdb.db", null); stdout.printf ("IMDb Plugin Loaded. Cache Db: %s\n", filename); @@ -44,6 +45,8 @@ class IMDbPlugin : Plugin { sources = new List (); sources.append (source); + osso_context = context; + // FIXME - this forces the inclusion of config.h (void) Config.GETTEXT_PACKAGE; } -- 1.7.9.5