On Sat, Apr 10, 2010 at 04:58:06PM -0700, Darren Warner wrote:
> 
> I'm creating a vapi for libexif (using vala-gen-introspect) which
> includes a function that returns a structure:
> 
> typedef struct {ExifLong numerator; ExifLong denominator; }ExifRational;
> ExifRational  exif_get_rational  (const unsigned char *b,
> ExifByteOrder order);
> 
> If I don't alter ExifRational in my .metadata, the C compiler
> complains about assigning ExifRational to ExifRational * when I try
> to use the function.
> 
> If I set ExifRational is_value_type="1", which I believe I should
> be, valac is generating an additional parameter (a pointer to a
> temporary ExifRational) when calling exif_get_rational() - of course
> the compiler complains at this also.
> 
> This seems like a newbie question, but I've been unable to find any
> similar examples in the existing bindings, so any help would be
> appreciated.

I might be wrong but it looks like it's used like a simple type.
Try adding [SimpleType] to your struct binding, e.g.:

namespace Exif
{
        [SimpleType]
        public struct Rational
        {
                Long numerator;
                Long denominator;
        }
}

-- 
http://www.debian.org - The Universal Operating System

Attachment: signature.asc
Description: Digital signature

_______________________________________________
vala-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/vala-list

Reply via email to