[libsocialweb] introspection: Workaround wrong arguments for some signals



commit d890cbfdf6296e40e33162c88f259e1159061a76
Author: Marco Barisione <marco barisione org>
Date:   Wed Oct 27 15:15:07 2010 +0100

    introspection: Workaround wrong arguments for some signals
    
    The signals emitted when new items are added/changed/removed accept a
    G_TYPE_POINTER argument that is actually a GList* of SwItems. The g-i
    scanner doesn't pick the annotations for those signals, so we fix it
    through XSLT.

 libsocialweb-client/kludge.xsl |   16 ++++++++++++++++
 1 files changed, 16 insertions(+), 0 deletions(-)
---
diff --git a/libsocialweb-client/kludge.xsl b/libsocialweb-client/kludge.xsl
index 13ee18e..1457498 100644
--- a/libsocialweb-client/kludge.xsl
+++ b/libsocialweb-client/kludge.xsl
@@ -11,4 +11,20 @@
     </xsl:copy>
   </xsl:template>
 
+  <xsl:template match="glib:signal[ name='items-added' or
+    @name='items-changed' or @name='items-removed']">
+    <glib:signal name="{ name}">
+      <return-value transfer-ownership="none">
+        <type name="none"/>
+      </return-value>
+      <parameters>
+        <parameter name="items" transfer-ownership="none">
+          <type name="GLib.List" c:type="GList*">
+            <type name="SocialWebClient.Item" c:type="SwItem*"/>
+          </type>
+        </parameter>
+      </parameters>
+    </glib:signal>
+  </xsl:template>
+
 </xsl:stylesheet>



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]