[maemo-commits] [maemo-commits] r8986 - in projects/haf/branches/maemo-af-desktop/hildon-desktop: . src
From: subversion at stage.maemo.org subversion at stage.maemo.orgDate: Mon Jan 8 20:11:32 EET 2007
- Previous message: [maemo-commits] r8985 - projects/haf/trunk/python-runtime/debian
- Next message: [maemo-commits] r8987 - in projects/haf/branches/maemo-af-desktop/python-hildon-desktop: . pythonloader
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Author: moimart Date: 2007-01-08 20:11:30 +0200 (Mon, 08 Jan 2007) New Revision: 8986 Added: projects/haf/branches/maemo-af-desktop/hildon-desktop/src/hildon-desktop.pc.in Removed: projects/haf/branches/maemo-af-desktop/hildon-desktop/src/hd-plugin-loader-python.c projects/haf/branches/maemo-af-desktop/hildon-desktop/src/hd-plugin-loader-python.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/src/Makefile.am projects/haf/branches/maemo-af-desktop/hildon-desktop/src/hd-plugin-loader-factory.c Log: * src/hd-plugin-loader-factory.c: Added support for loading plugin loaders as modules. * src/hildon-desktop.pc.in: Package for plugin loaders modules * src/Makefile.am: Removed support of python. Now it's splitted * configure.ac: Removed python support. * ChangeLog updated. Modified: projects/haf/branches/maemo-af-desktop/hildon-desktop/ChangeLog =================================================================== --- projects/haf/branches/maemo-af-desktop/hildon-desktop/ChangeLog 2007-01-08 16:39:29 UTC (rev 8985) +++ projects/haf/branches/maemo-af-desktop/hildon-desktop/ChangeLog 2007-01-08 18:11:30 UTC (rev 8986) @@ -1,3 +1,11 @@ +2007-01-08 Moises Martinez <moises.martinez at nokia.com> + + * src/hd-plugin-loader-factory.c: Added support for + loading plugin loaders as modules. + * src/hildon-desktop.pc.in: Package for plugin loaders modules + * src/Makefile.am: Removed support of python. Now it's splitted + * configure.ac: Removed python support. + 2007-01-05 Moises Martinez <moises.martinez at nokia.com> * libhildondesktop/hn-app-switcher.c: Modified: projects/haf/branches/maemo-af-desktop/hildon-desktop/configure.ac =================================================================== --- projects/haf/branches/maemo-af-desktop/hildon-desktop/configure.ac 2007-01-08 16:39:29 UTC (rev 8985) +++ projects/haf/branches/maemo-af-desktop/hildon-desktop/configure.ac 2007-01-08 18:11:30 UTC (rev 8986) @@ -162,6 +162,9 @@ hildoncpdesktopentrydir=${datadir}/applications/hildon-control-panel AC_SUBST(hildoncpdesktopentrydir) +hildonpluginloaderpathlib=${libdir}/hildon-desktop-loaders +AC_SUBST(hildonpluginloaderpathlib) + #++++++++++++++++++++ # Background Manager #++++++++++++++++++++ @@ -173,56 +176,6 @@ AC_SUBST(HILDON_BACKGROUND_MANAGER_OBJECT_PATH) AC_SUBST(HILDON_BACKGROUND_MANAGER_INTERFACE) -#++++++++ -# Python -#++++++++ - -AC_MSG_CHECKING([whether Python support is requested]) -AC_ARG_ENABLE(python, - AS_HELP_STRING([--enable-python],[Enable python support]), - [enable_python=$enableval have_python=$enableval], - [enable_python=no have_python=no]) -AC_MSG_RESULT([$enable_python]) - -if test "x$have_python" != "xno"; then - AM_PATH_PYTHON([2.3],[],[no]) - if test "x$PYTHON" = "x:"; then - have_python=no - fi -fi - -dnl if test "x$have_python" != "xno"; then -dnl AM_CHECK_PYTHON_HEADERS([],[have_python=no]) -dnl fi - -if test "x$have_python" != "xno"; then - PYTHON_LIBS="-lpython$PYTHON_VERSION" - PYTHON_LIB_LOC="-L$PYTHON_EXEC_PREFIX/lib/python$PYTHON_VERSION/config" - PYTHON_CFLAGS="-I$PYTHON_PREFIX/include/python$PYTHON_VERSION" - AC_SUBST(PYTHON_LIBS) - AC_SUBST(PYTHON_LIB_LOC) - AC_SUBST(PYTHON_CFLAGS) - - PKG_CHECK_MODULES(PYGOBJECT, pygobject-2.0 >= 2.6) - AC_SUBST(PYGOBJECT_LIBS) - AC_SUBST(PYGOBJECT_CFLAGS) - - PKG_CHECK_MODULES(PYGTK, pygtk-2.0 >= 2.6) - AC_SUBST(PYGTK_CFLAGS) - AC_SUBST(PYGTK_LIBS) -fi - -if test "x$have_python" != "xyes"; then - if test "x$enable_python" = "xyes"; then - AC_MSG_ERROR([Python not found]) - fi -elif test "x$enable_python" != "xno"; then - enable_python=yes - AC_DEFINE([ENABLE_PYTHON],[1],[Define to compile with python support]) -fi - -AM_CONDITIONAL([ENABLE_PYTHON],[test "x$enable_python" = "xyes"]) - AC_OUTPUT([ Makefile libhildonwm/Makefile @@ -235,4 +188,5 @@ background-manager/background-manager-dbus.h data/Makefile src/Makefile +src/hildon-desktop.pc ]) 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-08 16:39:29 UTC (rev 8985) +++ projects/haf/branches/maemo-af-desktop/hildon-desktop/src/Makefile.am 2007-01-08 18:11:30 UTC (rev 8986) @@ -1,3 +1,9 @@ +pkgconfigdir = $(libdir)/pkgconfig +pkgincludedir = $(includedir)/hildon-desktop/hildon-desktop +pkgconfig_DATA = hildon-desktop.pc +pkginclude_HEADERS = hd-plugin-loader.h \ + hd-config.h + bin_PROGRAMS = hildon-desktop hildon_desktop_CPPFLAGS = \ @@ -11,35 +17,17 @@ -DHD_DESKTOP_MODULE_PATH=\"$(hildondesktoplibdir)\" \ -DHD_DESKTOP_BACKGROUNDS_PATH=\"$(hildondesktopbackgroundsdir)\" \ -DHD_PLUGIN_LOADER_LEGACY_HOME_MODULE_PATH=\"$(hildonhomelibdir)\" \ - -DHD_PLUGIN_LOADER_LEGACY_NAVIGATOR_MODULE_PATH=\"$(hildonnavigatorlibdir)\" + -DHD_PLUGIN_LOADER_LEGACY_NAVIGATOR_MODULE_PATH=\"$(hildonnavigatorlibdir)\" \ + -DHD_PLUGIN_LOADER_MODULES_PATH=\"$(hildonpluginloaderpathlib)\" -if ENABLE_PYTHON -hildon_desktop_CPPFLAGS += \ - $(PYTHON_CFLAGS) \ - $(PYGOBJECT_CFLAGS) \ - $(PYGTK_CFLAGS) -endif - hildon_desktop_LDFLAGS = \ $(HILDON_LIBS) \ $(HILDON_FM_LIBS) \ $(OSSO_LIBS) \ $(OSSO_HELP_LIBS) -if ENABLE_PYTHON -hildon_desktop_LDFLAGS += \ - $(PYTHON_LIBS) \ - $(PYTHON_LIB_LOC) \ - $(PYGOBJECT_LIBS) \ - $(PYGTK_LIBS) -endif - hildon_desktop_LDADD = $(top_srcdir)/libhildondesktop/libhildondesktop.la -PYTHON_SOURCES = \ - hd-plugin-loader-python.c \ - hd-plugin-loader-python.h - PLUGIN_MANAGER_SOURCES = \ hd-plugin-manager.c \ hd-plugin-manager.h \ @@ -52,10 +40,6 @@ hd-plugin-loader-legacy.c \ hd-plugin-loader-legacy.h -if ENABLE_PYTHON -PLUGIN_MANAGER_SOURCES += $(PYTHON_SOURCES) -endif - HOME_SOURCES = \ hd-home-window.c \ hd-home-window.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-08 16:39:29 UTC (rev 8985) +++ projects/haf/branches/maemo-af-desktop/hildon-desktop/src/hd-plugin-loader-factory.c 2007-01-08 18:11:30 UTC (rev 8986) @@ -38,6 +38,13 @@ #include "hd-plugin-loader-python.h" #endif +#ifndef HD_PLUGIN_LOADER_MODULES_PATH +#define HD_PLUGIN_LOADER_MODULES_PATH "/usr/lib/hildon-desktop" +#endif + +#define MODULE_LOAD_SYMBOL "hd_plugin_loader_module_type" +#define MODULE_GET_INSTANCE_SYMBOL "hd_plugin_loader_module_get_instance" + #define HD_PLUGIN_LOADER_FACTORY_GET_PRIVATE(object) \ (G_TYPE_INSTANCE_GET_PRIVATE ((object), HD_TYPE_PLUGIN_LOADER_FACTORY, HDPluginLoaderFactoryPrivate)) @@ -46,14 +53,79 @@ struct _HDPluginLoaderFactoryPrivate { GHashTable *registry; + GHashTable *modules; + + gchar *(*load_module) (void); + HDPluginLoader *(*get_instance) (void); }; +static void +hd_plugin_loader_factory_load_modules (HDPluginLoaderFactory *factory) +{ + GError *error = NULL; + GDir *path_modules; + const gchar *name; + + path_modules = g_dir_open (HD_PLUGIN_LOADER_MODULES_PATH,0,&error); + + if (error != NULL) + { + g_warning ("I couldn't open %s path for plugin loaders", + HD_PLUGIN_LOADER_MODULES_PATH); + + g_error_free (error); + return; + } + + while ((name = g_dir_read_name (path_modules)) != NULL) + { + if (g_str_has_suffix (name,".so")) + { + GModule *module; + gchar *libpath = g_build_filename (HD_PLUGIN_LOADER_MODULES_PATH,name,NULL); + + module = g_module_open (libpath, G_MODULE_BIND_MASK); + + if (module != NULL) + { + if (g_module_symbol (module, + MODULE_LOAD_SYMBOL, + (gpointer *)&factory->priv->load_module)) + { + g_hash_table_insert (factory->priv->modules, + factory->priv->load_module, + module); + } + else + { + g_warning (g_module_error ()); + g_module_close (module); + } + } + else + { + g_warning (g_module_error ()); + } + } + } + + g_dir_close (path_modules); +} + static void hd_plugin_loader_factory_init (HDPluginLoaderFactory *factory) { factory->priv = HD_PLUGIN_LOADER_FACTORY_GET_PRIVATE (factory); factory->priv->registry = g_hash_table_new (g_str_hash, g_str_equal); + + factory->priv->modules = + g_hash_table_new_full (g_str_hash, + g_str_equal, + (GDestroyNotify)g_free, + (GDestroyNotify)g_module_close); + + hd_plugin_loader_factory_load_modules (factory); } static gboolean @@ -65,6 +137,15 @@ return TRUE; } +static gboolean +hd_plugin_loader_factory_free_modules (gchar *key, GModule *module) +{ + g_free (key); + g_module_close (module); + + return TRUE; +} + static void hd_plugin_loader_factory_finalize (GObject *object) { @@ -81,7 +162,13 @@ (GHRFunc) hd_plugin_loader_factory_free_loader, NULL); + g_hash_table_foreach_remove (priv->registry, + (GHRFunc) hd_plugin_loader_factory_free_modules, + NULL); + + g_hash_table_destroy (priv->registry); + g_hash_table_destroy (priv->modules); } G_OBJECT_CLASS (hd_plugin_loader_factory_parent_class)->finalize (object); @@ -173,15 +260,30 @@ { loader = g_object_new (HD_TYPE_PLUGIN_LOADER_DEFAULT, NULL); } -#ifdef ENABLE_PYTHON - else if (!g_ascii_strcasecmp (type, HD_PLUGIN_LOADER_TYPE_PYTHON)) - { - loader = g_object_new (HD_TYPE_PLUGIN_LOADER_PYTHON, NULL); - } -#endif else { - g_warning ("Unknown Plugin Loader type: %s", type); + GModule *module = g_hash_table_lookup (priv->modules, type); + + if (module) + { + if (g_module_symbol (module, + MODULE_GET_INSTANCE_SYMBOL, + (gpointer *)&factory->priv->get_instance)) + { + loader = priv->get_instance (); + + priv->get_instance = NULL; + } + else + { + g_debug ("%s: module invalid, discarding it for future use",__FILE__); + g_hash_table_remove (priv->modules,type); + } + } + else + { + g_warning ("Unknown Plugin Loader type: %s", type); + } } g_hash_table_insert (priv->registry, g_strdup (type), loader); Deleted: projects/haf/branches/maemo-af-desktop/hildon-desktop/src/hd-plugin-loader-python.c =================================================================== --- projects/haf/branches/maemo-af-desktop/hildon-desktop/src/hd-plugin-loader-python.c 2007-01-08 16:39:29 UTC (rev 8985) +++ projects/haf/branches/maemo-af-desktop/hildon-desktop/src/hd-plugin-loader-python.c 2007-01-08 18:11:30 UTC (rev 8986) @@ -1,310 +0,0 @@ -/* - * 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 <Python.h> -#include <pygobject.h> -#include <pygtk/pygtk.h> - -#include <libhildondesktop/hildon-desktop-plugin.h> - -#include "hd-plugin-loader-python.h" -#include "hd-config.h" - -#define HD_PLUGIN_LOADER_PYTHON_GET_PRIVATE(obj) \ - (G_TYPE_INSTANCE_GET_PRIVATE ((obj), HD_TYPE_PLUGIN_LOADER_PYTHON, HDPluginLoaderPythonPrivate)) - -G_DEFINE_TYPE (HDPluginLoaderPython, hd_plugin_loader_python, HD_TYPE_PLUGIN_LOADER); - -struct _HDPluginLoaderPythonPrivate -{ - gboolean initialised; -}; - -static void -hd_plugin_loader_python_destroy_plugin (GtkObject *object, gpointer user_data) -{ - PyObject *pModule, *pObject; - - pObject = (PyObject *) g_object_get_data (G_OBJECT (object), "object"); - pModule = (PyObject *) g_object_get_data (G_OBJECT (object), "module"); - - Py_DECREF (pObject); - Py_DECREF (pModule); - - PyGC_Collect(); -} - -static GList * -hd_plugin_loader_python_open_module (HDPluginLoaderPython *loader, - GError **error) -{ - HDPluginLoaderPythonPrivate *priv; - PyObject *pModules, *pModule, *pReload, *pDict, *pFunc, *pList; - GKeyFile *keyfile; - GList *objects = NULL; - GError *keyfile_error = NULL; - gchar *module_file = NULL; - gchar *module_name = NULL; - - g_return_val_if_fail (HD_IS_PLUGIN_LOADER_PYTHON (loader), NULL); - - priv = loader->priv; - - keyfile = hd_plugin_loader_get_key_file (HD_PLUGIN_LOADER (loader)); - - module_file = 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_path_is_absolute (module_file)) - { - module_name = g_path_get_basename (module_file); - - g_free (module_file); - } - else - { - module_name = module_file; - } - - pModules = PySys_GetObject ("modules"); - - g_assert (pModules != NULL); - - pModule = PyDict_GetItemString (pModules, module_name); - - if (pModule == NULL) - { - pModule = PyImport_ImportModule (module_name); - - if (pModule == NULL) - { - PyErr_Print (); - PyErr_Clear (); - - g_warning ("Could not initialize Python module '%s'", module_name); - } - } - else - { - pReload = PyImport_ReloadModule (pModule); - - if (pReload == NULL) - { - PyErr_Print (); - PyErr_Clear (); - - g_warning ("Could not reload Python module '%s'\n" - "Falling back to previous version", - module_name); - } - else - { - Py_DECREF(pReload); - } - } - - if (pModule != NULL) - { - pDict = PyModule_GetDict (pModule); - - pFunc = PyDict_GetItemString (pDict, "hd_plugin_get_objects"); - - if (pFunc != NULL && PyCallable_Check (pFunc)) - { - pList = PyObject_CallObject (pFunc, NULL); - - if (pList != NULL && PyList_Check (pList)) - { - int i; - - for (i = 0; i < PyList_Size (pList); i++) - { - PyObject *pObject = PyList_GetItem (pList, i); - - /* FIXME: add type checking here */ - if (pObject != NULL) - { - GObject *object = g_object_ref(((PyGObject *) pObject)->obj); - - g_signal_connect (G_OBJECT (object), - "destroy", - G_CALLBACK (hd_plugin_loader_python_destroy_plugin), - NULL); - - /* Increase reference count of the module for each "extra" - plugin instance so that when no more plugin instances exist - the module is unloaded correctly. */ - Py_INCREF (pModule); - - g_object_set_data (object, "object", pObject); - g_object_set_data (object, "module", pModule); - - objects = g_list_append (objects, object); - } - } - - Py_DECREF(pList); - } - else - { - Py_XDECREF (pList); - Py_DECREF (pModule); - - PyErr_Print (); - PyErr_Clear (); - - g_warning ("Failed to call hd_plugin_get_objects in python module"); - - return NULL; - } - } - else - { - if (PyErr_Occurred ()) - { - PyErr_Print (); - PyErr_Clear (); - } - - g_warning ("Cannot find function \"%s\"", "hd_plugin_get_objects"); - } - } - else - { - PyErr_Print (); - PyErr_Clear (); - - g_warning ("Failed to load \"%s\"", module_name); - } - - g_free (module_name); - - return objects; -} - -static GList * -hd_plugin_loader_python_load (HDPluginLoader *loader, GError **error) -{ - GList *objects = NULL; - GKeyFile *keyfile; - GError *local_error = NULL; - - 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; - } - - objects = - hd_plugin_loader_python_open_module (HD_PLUGIN_LOADER_PYTHON (loader), - &local_error); - - if (local_error) - { - g_propagate_error (error, local_error); - - if (objects) - { - g_list_foreach (objects, (GFunc) gtk_widget_destroy, NULL); - g_list_free (objects); - } - - return NULL; - } - - return objects; -} - -static void -hd_plugin_loader_python_finalize (GObject *loader) -{ - HDPluginLoaderPythonPrivate *priv; - - g_return_if_fail (loader != NULL); - g_return_if_fail (HD_IS_PLUGIN_LOADER_PYTHON (loader)); - - priv = HD_PLUGIN_LOADER_PYTHON (loader)->priv; - - if (priv->initialised) - { - Py_Finalize (); - } - - G_OBJECT_CLASS (hd_plugin_loader_python_parent_class)->finalize (loader); -} - -static void -hd_plugin_loader_python_init (HDPluginLoaderPython *loader) -{ - PyObject *pPath, *pStr; - - loader->priv = HD_PLUGIN_LOADER_PYTHON_GET_PRIVATE (loader); - - Py_Initialize (); - loader->priv->initialised = TRUE; - - init_pygobject (); - init_pygtk (); - - pStr = PyString_FromString (HD_DESKTOP_MODULE_PATH); - pPath = PySys_GetObject ("path"); - PyList_Append (pPath, pStr); -} - -static void -hd_plugin_loader_python_class_init (HDPluginLoaderPythonClass *class) -{ - GObjectClass *object_class; - HDPluginLoaderClass *loader_class; - - object_class = G_OBJECT_CLASS (class); - loader_class = HD_PLUGIN_LOADER_CLASS (class); - - object_class->finalize = hd_plugin_loader_python_finalize; - - loader_class->load = hd_plugin_loader_python_load; - - g_type_class_add_private (object_class, sizeof (HDPluginLoaderPythonPrivate)); -} Deleted: projects/haf/branches/maemo-af-desktop/hildon-desktop/src/hd-plugin-loader-python.h =================================================================== --- projects/haf/branches/maemo-af-desktop/hildon-desktop/src/hd-plugin-loader-python.h 2007-01-08 16:39:29 UTC (rev 8985) +++ projects/haf/branches/maemo-af-desktop/hildon-desktop/src/hd-plugin-loader-python.h 2007-01-08 18:11:30 UTC (rev 8986) @@ -1,59 +0,0 @@ -/* - * 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_PYTHON_H__ -#define __HD_PLUGIN_LOADER_PYTHON_H__ - -#include "hd-plugin-loader.h" - -G_BEGIN_DECLS - -typedef struct _HDPluginLoaderPython HDPluginLoaderPython; -typedef struct _HDPluginLoaderPythonClass HDPluginLoaderPythonClass; -typedef struct _HDPluginLoaderPythonPrivate HDPluginLoaderPythonPrivate; - -#define HD_TYPE_PLUGIN_LOADER_PYTHON (hd_plugin_loader_python_get_type ()) -#define HD_PLUGIN_LOADER_PYTHON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), HD_TYPE_PLUGIN_LOADER_PYTHON, HDPluginLoaderPython)) -#define HD_IS_PLUGIN_LOADER_PYTHON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), HD_TYPE_PLUGIN_LOADER_PYTHON)) -#define HD_PLUGIN_LOADER_PYTHON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), HD_TYPE_PLUGIN_LOADER_PYTHON_CLASS, HDPluginLoaderPythonClass)) -#define HD_IS_PLUGIN_LOADER_PYTHON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), HD_TYPE_PLUGIN_LOADER_PYTHON_CLASS)) -#define HD_PLUGIN_LOADER_PYTHON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), HD_TYPE_PLUGIN_LOADER_PYTHON, HDPluginLoaderPythonClass)) - -struct _HDPluginLoaderPython -{ - HDPluginLoader parent; - - HDPluginLoaderPythonPrivate *priv; -}; - -struct _HDPluginLoaderPythonClass -{ - HDPluginLoaderClass parent_class; -}; - -GType hd_plugin_loader_python_get_type (void); - -G_END_DECLS - -#endif Added: projects/haf/branches/maemo-af-desktop/hildon-desktop/src/hildon-desktop.pc.in =================================================================== --- projects/haf/branches/maemo-af-desktop/hildon-desktop/src/hildon-desktop.pc.in 2007-01-08 16:39:29 UTC (rev 8985) +++ projects/haf/branches/maemo-af-desktop/hildon-desktop/src/hildon-desktop.pc.in 2007-01-08 18:11:30 UTC (rev 8986) @@ -0,0 +1,11 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +includedir=@includedir@/hildon-desktop +localedir=@localedir@ +hildonpluginloaderpathlib=@hildonpluginloaderpathlib@ + +Name: hildon-desktop +Description: Hildon Desktop Headers +Requires: hildon-libs >= 0.7.1 libhildonwm libhildondesktop +Version: @VERSION@ +Cflags: -I${includedir}
- Previous message: [maemo-commits] r8985 - projects/haf/trunk/python-runtime/debian
- Next message: [maemo-commits] r8987 - in projects/haf/branches/maemo-af-desktop/python-hildon-desktop: . pythonloader
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]