[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.org
Date: Mon Jan 8 20:11:32 EET 2007
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}


More information about the maemo-commits mailing list