[maemo-commits] [maemo-commits] r9004 - in projects/haf/branches/maemo-af-desktop/hildon-desktop: . data src
From: subversion at stage.maemo.org subversion at stage.maemo.orgDate: Tue Jan 9 15:54:52 EET 2007
- Previous message: [maemo-commits] r9003 - in projects/haf/branches/maemo-af-desktop/hildon-desktop: . data libhildondesktop
- Next message: [maemo-commits] r9006 - projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Author: lucasr Date: 2007-01-09 15:54:50 +0200 (Tue, 09 Jan 2007) New Revision: 9004 Added: projects/haf/branches/maemo-af-desktop/hildon-desktop/data/app-switcher.desktop.in projects/haf/branches/maemo-af-desktop/hildon-desktop/src/hd-plugin-loader-builtin.c projects/haf/branches/maemo-af-desktop/hildon-desktop/src/hd-plugin-loader-builtin.h Modified: projects/haf/branches/maemo-af-desktop/hildon-desktop/ChangeLog projects/haf/branches/maemo-af-desktop/hildon-desktop/configure.ac projects/haf/branches/maemo-af-desktop/hildon-desktop/data/Makefile.am projects/haf/branches/maemo-af-desktop/hildon-desktop/src/Makefile.am projects/haf/branches/maemo-af-desktop/hildon-desktop/src/hd-plugin-loader-factory.c projects/haf/branches/maemo-af-desktop/hildon-desktop/src/hd-plugin-loader-factory.h Log: 2007-01-09 Lucas Rocha <lucas.rocha at nokia.com> * src/hd-plugin-loader-builtin.[ch], src/Makefile.am: new builtin plugin loader. * src/hd-plugin-loader-factory.c: added builtin loader. * data/Makefile.am, data/app-switcher.desktop.in: desktop file for application switcher plugin. Modified: projects/haf/branches/maemo-af-desktop/hildon-desktop/ChangeLog =================================================================== --- projects/haf/branches/maemo-af-desktop/hildon-desktop/ChangeLog 2007-01-09 13:14:54 UTC (rev 9003) +++ projects/haf/branches/maemo-af-desktop/hildon-desktop/ChangeLog 2007-01-09 13:54:50 UTC (rev 9004) @@ -1,5 +1,13 @@ 2007-01-09 Lucas Rocha <lucas.rocha at nokia.com> + * src/hd-plugin-loader-builtin.[ch], src/Makefile.am: new builtin + plugin loader. + * src/hd-plugin-loader-factory.c: added builtin loader. + * data/Makefile.am, data/app-switcher.desktop.in: desktop file for application switcher + plugin. + +2007-01-09 Lucas Rocha <lucas.rocha at nokia.com> + * libhildondesktop/hildon-home-window.c, data/Makefile.am: renamed hildon-home-layout.conf to home-layout.conf. Modified: projects/haf/branches/maemo-af-desktop/hildon-desktop/configure.ac =================================================================== --- projects/haf/branches/maemo-af-desktop/hildon-desktop/configure.ac 2007-01-09 13:14:54 UTC (rev 9003) +++ projects/haf/branches/maemo-af-desktop/hildon-desktop/configure.ac 2007-01-09 13:54:50 UTC (rev 9004) @@ -178,6 +178,8 @@ AC_OUTPUT([ Makefile +src/Makefile +src/hildon-desktop.pc libhildonwm/Makefile libhildonwm/libhildonwm.pc libhildondesktop/Makefile @@ -187,6 +189,5 @@ background-manager/background-manager.xml background-manager/background-manager-dbus.h data/Makefile -src/Makefile -src/hildon-desktop.pc +data/app-switcher.desktop ]) Modified: projects/haf/branches/maemo-af-desktop/hildon-desktop/data/Makefile.am =================================================================== --- projects/haf/branches/maemo-af-desktop/hildon-desktop/data/Makefile.am 2007-01-09 13:14:54 UTC (rev 9003) +++ projects/haf/branches/maemo-af-desktop/hildon-desktop/data/Makefile.am 2007-01-09 13:54:50 UTC (rev 9004) @@ -1,6 +1,10 @@ -hildondesktopconf_DATA = desktop.conf \ - tasknavigator.conf \ - home.conf \ - home-layout.conf +hildondesktopconf_DATA = \ + desktop.conf \ + tasknavigator.conf \ + home.conf \ + home-layout.conf +hildonnavigatordesktopentry_DATA = \ + app-switcher.desktop + CLEANFILES = *~ Added: projects/haf/branches/maemo-af-desktop/hildon-desktop/data/app-switcher.desktop.in =================================================================== --- projects/haf/branches/maemo-af-desktop/hildon-desktop/data/app-switcher.desktop.in 2007-01-09 13:14:54 UTC (rev 9003) +++ projects/haf/branches/maemo-af-desktop/hildon-desktop/data/app-switcher.desktop.in 2007-01-09 13:54:50 UTC (rev 9004) @@ -0,0 +1,4 @@ +[Desktop Entry] +Name=Application Switcher +Type=builtin +X-Path=appswitcher Modified: projects/haf/branches/maemo-af-desktop/hildon-desktop/src/Makefile.am =================================================================== --- projects/haf/branches/maemo-af-desktop/hildon-desktop/src/Makefile.am 2007-01-09 13:14:54 UTC (rev 9003) +++ projects/haf/branches/maemo-af-desktop/hildon-desktop/src/Makefile.am 2007-01-09 13:54:50 UTC (rev 9004) @@ -44,6 +44,8 @@ hd-plugin-loader.h \ hd-plugin-loader-default.c \ hd-plugin-loader-default.h \ + hd-plugin-loader-builtin.c \ + hd-plugin-loader-builtin.h \ hd-plugin-loader-legacy.c \ hd-plugin-loader-legacy.h Added: projects/haf/branches/maemo-af-desktop/hildon-desktop/src/hd-plugin-loader-builtin.c =================================================================== --- projects/haf/branches/maemo-af-desktop/hildon-desktop/src/hd-plugin-loader-builtin.c 2007-01-09 13:14:54 UTC (rev 9003) +++ projects/haf/branches/maemo-af-desktop/hildon-desktop/src/hd-plugin-loader-builtin.c 2007-01-09 13:54:50 UTC (rev 9004) @@ -0,0 +1,100 @@ +/* + * This file is part of hildon-desktop + * + * Copyright (C) 2006 Nokia Corporation. + * + * Author: Lucas Rocha <lucas.rocha at nokia.com> + * Contact: Karoliina Salminen <karoliina.t.salminen at nokia.com> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * version 2.1 as published by the Free Software Foundation. + * + * This library is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA + * 02110-1301 USA + * + */ + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + +#include "hd-plugin-loader-builtin.h" +#include "hd-config.h" +#include "hn-app-switcher.h" + +#define HD_PLUGIN_LOADER_BUILTIN_GET_PRIVATE(obj) \ + (G_TYPE_INSTANCE_GET_PRIVATE ((obj), HD_TYPE_PLUGIN_LOADER_BUILTIN, HDPluginLoaderBuiltinPrivate)) + +G_DEFINE_TYPE (HDPluginLoaderBuiltin, hd_plugin_loader_builtin, HD_TYPE_PLUGIN_LOADER); + +#define HD_PLUGIN_LOADER_BUILTIN_APP_SWITCHER "appswitcher" + +static GList * +hd_plugin_loader_builtin_load (HDPluginLoader *loader, GError **error) +{ + GList *objects = NULL; + GKeyFile *keyfile; + gchar *path; + GError *keyfile_error; + + g_return_val_if_fail (loader, NULL); + + keyfile = hd_plugin_loader_get_key_file (loader); + + if (!keyfile) + { + g_set_error (error, + hd_plugin_loader_error_quark (), + HD_PLUGIN_LOADER_ERROR_KEYFILE, + "A keyfile required to load plugins"); + + return NULL; + } + + + path = g_key_file_get_string (keyfile, + HD_PLUGIN_CONFIG_GROUP, + HD_PLUGIN_CONFIG_KEY_PATH, + &keyfile_error); + + if (keyfile_error) + { + g_propagate_error (error, keyfile_error); + + return NULL; + } + + if (!g_ascii_strcasecmp (path, HD_PLUGIN_LOADER_BUILTIN_APP_SWITCHER)) + { + GObject *object = g_object_new (HN_TYPE_APP_SWITCHER, NULL); + + objects = g_list_append (objects, object); + } + + g_free (path); + + return objects; +} + +static void +hd_plugin_loader_builtin_init (HDPluginLoaderBuiltin *loader) +{ +} + +static void +hd_plugin_loader_builtin_class_init (HDPluginLoaderBuiltinClass *class) +{ + HDPluginLoaderClass *loader_class; + + loader_class = HD_PLUGIN_LOADER_CLASS (class); + + loader_class->load = hd_plugin_loader_builtin_load; +} Added: projects/haf/branches/maemo-af-desktop/hildon-desktop/src/hd-plugin-loader-builtin.h =================================================================== --- projects/haf/branches/maemo-af-desktop/hildon-desktop/src/hd-plugin-loader-builtin.h 2007-01-09 13:14:54 UTC (rev 9003) +++ projects/haf/branches/maemo-af-desktop/hildon-desktop/src/hd-plugin-loader-builtin.h 2007-01-09 13:54:50 UTC (rev 9004) @@ -0,0 +1,59 @@ +/* + * This file is part of hildon-desktop + * + * Copyright (C) 2006 Nokia Corporation. + * + * Author: Lucas Rocha <lucas.rocha at nokia.com> + * Contact: Karoliina Salminen <karoliina.t.salminen at nokia.com> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * version 2.1 as published by the Free Software Foundation. + * + * This library is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA + * 02110-1301 USA + * + */ + +#ifndef __HD_PLUGIN_LOADER_BUILTIN_H__ +#define __HD_PLUGIN_LOADER_BUILTIN_H__ + +#include "hd-plugin-loader.h" + +G_BEGIN_DECLS + +typedef struct _HDPluginLoaderBuiltin HDPluginLoaderBuiltin; +typedef struct _HDPluginLoaderBuiltinClass HDPluginLoaderBuiltinClass; +typedef struct _HDPluginLoaderBuiltinPrivate HDPluginLoaderBuiltinPrivate; + +#define HD_TYPE_PLUGIN_LOADER_BUILTIN (hd_plugin_loader_builtin_get_type ()) +#define HD_PLUGIN_LOADER_BUILTIN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), HD_TYPE_PLUGIN_LOADER_BUILTIN, HDPluginLoaderBuiltin)) +#define HD_IS_PLUGIN_LOADER_BUILTIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), HD_TYPE_PLUGIN_LOADER_BUILTIN)) +#define HD_PLUGIN_LOADER_BUILTIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), HD_TYPE_PLUGIN_LOADER_BUILTIN_CLASS, HDPluginLoaderBuiltinClass)) +#define HD_IS_PLUGIN_LOADER_BUILTIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), HD_TYPE_PLUGIN_LOADER_BUILTIN_CLASS)) +#define HD_PLUGIN_LOADER_BUILTIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), HD_TYPE_PLUGIN_LOADER_BUILTIN, HDPluginLoaderBuiltinClass)) + +struct _HDPluginLoaderBuiltin +{ + HDPluginLoader parent; + + HDPluginLoaderBuiltinPrivate *priv; +}; + +struct _HDPluginLoaderBuiltinClass +{ + HDPluginLoaderClass parent_class; +}; + +GType hd_plugin_loader_builtin_get_type (void); + +G_END_DECLS + +#endif /* __HD_PLUGIN_LOADER_BUILTIN_H__ */ Modified: projects/haf/branches/maemo-af-desktop/hildon-desktop/src/hd-plugin-loader-factory.c =================================================================== --- projects/haf/branches/maemo-af-desktop/hildon-desktop/src/hd-plugin-loader-factory.c 2007-01-09 13:14:54 UTC (rev 9003) +++ projects/haf/branches/maemo-af-desktop/hildon-desktop/src/hd-plugin-loader-factory.c 2007-01-09 13:54:50 UTC (rev 9004) @@ -31,6 +31,7 @@ #include "hd-plugin-loader-factory.h" #include "hd-plugin-loader.h" #include "hd-plugin-loader-default.h" +#include "hd-plugin-loader-builtin.h" #include "hd-plugin-loader-legacy.h" #include "hd-config.h" @@ -78,7 +79,7 @@ if (g_str_has_suffix (name,".so")) { GModule *module; - gchar *libpath = g_build_filename (HD_PLUGIN_LOADER_MODULES_PATH,name, NULL); + gchar *libpath = g_build_filename (HD_PLUGIN_LOADER_MODULES_PATH, name, NULL); module = g_module_open (libpath, G_MODULE_BIND_LAZY); @@ -256,6 +257,10 @@ { loader = g_object_new (HD_TYPE_PLUGIN_LOADER_DEFAULT, NULL); } + else if (!g_ascii_strcasecmp (type, HD_PLUGIN_LOADER_TYPE_BUILTIN)) + { + loader = g_object_new (HD_TYPE_PLUGIN_LOADER_BUILTIN, NULL); + } else { GModule *module = g_hash_table_lookup (priv->modules, type); Modified: projects/haf/branches/maemo-af-desktop/hildon-desktop/src/hd-plugin-loader-factory.h =================================================================== --- projects/haf/branches/maemo-af-desktop/hildon-desktop/src/hd-plugin-loader-factory.h 2007-01-09 13:14:54 UTC (rev 9003) +++ projects/haf/branches/maemo-af-desktop/hildon-desktop/src/hd-plugin-loader-factory.h 2007-01-09 13:54:50 UTC (rev 9004) @@ -43,13 +43,10 @@ #define HD_PLUGIN_LOADER_FACTORY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), HD_TYPE_PLUGIN_LOADER_FACTORY, HDPluginLoaderFactoryClass)) #define HD_PLUGIN_LOADER_TYPE_DEFAULT "default" +#define HD_PLUGIN_LOADER_TYPE_BUILTIN "builtin" #define HD_PLUGIN_LOADER_TYPE_OLD_API "old_api" #define HD_PLUGIN_LOADER_TYPE_OLD_API_HOME "HildonHomeApplet" -#ifdef ENABLE_PYTHON -#define HD_PLUGIN_LOADER_TYPE_PYTHON "python" -#endif - struct _HDPluginLoaderFactory { GObject gobject;
- Previous message: [maemo-commits] r9003 - in projects/haf/branches/maemo-af-desktop/hildon-desktop: . data libhildondesktop
- Next message: [maemo-commits] r9006 - projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]