]> err.no Git - libchamplain/commitdiff
ChamplainMapSourceConstructor is more binding friendly.
authorEmmanuel Rodriguez <emmanuel.rodriguez@gmail.com>
Mon, 18 May 2009 19:26:09 +0000 (21:26 +0200)
committerPierre-Luc Beaudoin <pierre-luc@pierlux.com>
Fri, 12 Jun 2009 03:20:44 +0000 (23:20 -0400)
Since the constructor is a callback it is now passed an extra gpointer. This
will allow the bindings to properly pass a custom parameter that will wrap a
language defined function with the extra parameters.

The type ChamplainMapSourceDesc has been enhanced with an extra gpointer.

champlain/champlain-map-source-desc.h

index 358b67a6397beb0373c0f15e8abf991043e63d42..1840036a1ab95b0d7261e229b9dec353f979f4ac 100644 (file)
 
 G_BEGIN_DECLS
 
+
+typedef struct _ChamplainMapSourceDesc ChamplainMapSourceDesc;
+
+
 /**
  * ChamplainMapSourceConstructor:
  *
@@ -35,7 +39,8 @@ G_BEGIN_DECLS
  *
  * Since: 0.4
  */
-typedef ChamplainMapSource * (*ChamplainMapSourceConstructor) ();
+typedef ChamplainMapSource * (*ChamplainMapSourceConstructor) (
+    ChamplainMapSourceDesc *desc, gpointer *data);
 #define CHAMPLAIN_MAP_SOURCE_CONSTRUCTOR (f) ((ChamplainMapSourceConstructor) (f))
 
 #define CHAMPLAIN_MAP_SOURCE_DESC(obj)     ((ChamplainMapSourceDesc *) (obj))
@@ -47,7 +52,7 @@ typedef ChamplainMapSource * (*ChamplainMapSourceConstructor) ();
  *
  * Since: 0.4
  */
-typedef struct {
+struct _ChamplainMapSourceDesc {
   gchar *id;
   gchar *name;
   gchar *license;
@@ -56,7 +61,8 @@ typedef struct {
   gint max_zoom_level;
   ChamplainMapProjection projection;
   ChamplainMapSourceConstructor constructor;
-} ChamplainMapSourceDesc;
+  gpointer *data;
+};
 
 G_END_DECLS