[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 ]
