On Tue, Aug 8, 2017 at 3:18 PM, "Torsten Schönfeld" <
torsten.schoenf...@gmx.de> wrote:

> "Robin Lee" <robinlee.s...@gmail.com>:
> > I am playing GIRepository with G::O::I.
> > I get a GIRepository::BaseInfo object from gir get_info funtion.
> >
> > One question is how to test whether this object is a
> GIRepository::CallableInfo.
> >
> > And another question is how to cast this object to a
> GIRepository::CallableInfo.
>
> For a normal GObject-based library, the C hierarchy would be mapped to
> Perl package hierarchy so that you could use $object->isa('Package') and so
> that casting wouldn't be necessary.
>
> But GIRepository is not a GObject-based library, so you're basically in
> uncharted territory here Glib::Object::Introspection has not been written
> and tested with this application in mind.  But try calling ->get_type() on
> the GIRepository::BaseInfo object.  Once you know the type, try calling
> child class methods fully-qualified, for example:
>
>   GIRepository::Struct::find_method ($base_info_which_is_struct_info,
> $name)


> Also, have a look at what 'perli11ndoc' presents for GIRepository to maybe
> get a better idea of what is possible.  (The calling syntax presented
> might, however, not be correct, because 'perli11ndoc' also assumes GObject
> semantics.)
>
Thank you! I found the calling method from perli11ndoc:

As for your example, the correct way is
GIRepository::struct_info_find_method ($base_info_which_is_struct_info,
$name)

That seems all 'methods' of the types derived from BaseInfo become
namespace-level functions.

>
> Might I ask what you are trying to accomplish with the information from
> GIRepository?
>
I am learning GI and want to try all the APIs of the GIR library. Using a
scripting language is convenient for this task.

>
> -Torsten
> _______________________________________________
> gtk-perl-list mailing list
> gtk-perl-list@gnome.org
> https://mail.gnome.org/mailman/listinfo/gtk-perl-list
>
_______________________________________________
gtk-perl-list mailing list
gtk-perl-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-perl-list

Reply via email to