Why isn't [CCode (vfunc = "get_type")] related to it? Did you try already?
On Sun, Mar 16, 2014 at 3:07 PM, Lei Miao <[email protected]> wrote: > Thank you for the information, but it doesn't seem to be related to my > case. > > To be clear, I was referring to the following interface: > struct GstURIHandlerInterface > > struct GstURIHandlerInterface { > GTypeInterface parent; > > /* vtable */ > /* querying capabilities */ > GstURIType (* get_type) (GType type); > const gchar * const * (* get_protocols) (GType type); > > /* using the interface */ > gchar * (* get_uri) (GstURIHandler * handler); > gboolean (* set_uri) (GstURIHandler * handler, > const gchar * uri, > GError ** error); > }; > > > It has the "get_type" method that needs to be implemented in my vala code. > In gst_element_register() in gstelementfactory.c, it checks the type by > calling get_type(): > > ... > if (!iface || !iface->get_type || !iface->get_protocols) > goto urierror; > ... > > Regards, > > LM > > On 3/16/2014 6:08 AM, Luca Bruno wrote: > > Try [CCode (vfunc = "get_type")] or such, see gio vapi for some examples > about read_fn. > > > On Sun, Mar 16, 2014 at 10:05 AM, Abderrahim Kitouni > <[email protected]>wrote: > >> Hi, >> >> I've looked at thé gst docs and the vfunc for get_uri_type is called >> get_type. >> >> HTH, >> >> On March 16, 2014 9:19:34 AM CET, Luca Bruno <[email protected]> >> wrote: >>> >>> I don't understand what you mean by gstreamer uses get_type, can you point >>> to the specific C method? >>> >>> >>> On Sat, Mar 15, 2014 at 4:05 PM, Lei Miao <[email protected]> wrote: >>> >>> >>>> >>>> Thank you for the response. >>>> >>>> I could implement get_uri_type, but the problem is that gstreamer uses >>>> >>>> get_type. >>>> >>>> If I can implement get_type in vala, then I don't have to modify gstreamer >>>> code. >>>> >>>> Regards, >>>> >>>> LM >>>> On Mar 14, 2014 5:30 PM, "Luca Bruno" <[email protected]> wrote: >>>> >>>> >>>>> >>>>> I don't understand why you are using get_type. Implement get_uri_type. >>>>> >>>>> >>>>> On Fri, Mar 14, 2014 at 10:21 PM, Lei Miao <[email protected]> wrote: >>>>> >>>>> >>>>>> >>>>>> Hi, >>>>>> >>>>>> I am trying to write a gstreamer 1.0 plugin using vala. However, I am >>>>>> having trouble to implement the get_type() method of the Gst.URIHandler >>>>>> >>>>>> interface defined here: >>>>>> >>>>>> >>>>>> http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstUriHandler.html#GstURIHandlerInterface >>>>>> >>>>>> . >>>>>> >>>>>> In particular, my class inherits Gst.bin and implements Gst.URIHandler >>>>>> interface: >>>>>> >>>>>> public class StreamingSource: Gst.Bin, Gst.URIHandler { >>>>>> >>>>>> ... >>>>>> >>>>>> public URIType get_type (Type type) { return URIType.SRC; } >>>>>> >>>>>> >>>>>> ... >>>>>> } >>>>>> >>>>>> When I compile the vala code to c code, I get the following error: >>>>>> >>>>>> >>>>>> StreamingSource.get_type hides inherited method `GLib.Object.get_type'. >>>>>> Use >>>>>> the `new' keyword if hiding was intentional >>>>>> public URIType get_type (Type type) { return >>>>>> URIType.SRC; } >>>>>> >>>>>> >>>>>> The problem seems to be that GLib.Object also has a method called >>>>>> "get_type". So in this case, does anybody know how I can implement the >>>>>> "get_type" method of Gst.URIHandler? >>>>>> >>>>>> It's worth noting that according to this link: >>>>>> >>>>>> http://references.valadoc.org/#!api=gstreamer-1.0/Gst.URIHandler , the >>>>>> method is called get_uri_type() instead. This is inconsistent with the >>>>>> >>>>>> gstreamer 1.0 reference manual. In fact, Gstreamer code has both methods >>>>>> defined, but it uses get_type() for element registration. >>>>>> >>>>>> Regards, >>>>>> >>>>>> LM >>>>>> ------------------------------ >>>>>> >>>>>> vala-list mailing list >>>>>> [email protected] >>>>>> >>>>>> https://mail.gnome.org/mailman/listinfo/vala-list >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> www.debian.org - The Universal Operating System >>>> >>>> >>>> >>>> >> -- >> Sent from my Android device with K-9 Mail. Please excuse my brevity. >> > > > > -- > www.debian.org - The Universal Operating System > > > -- www.debian.org - The Universal Operating System _______________________________________________ vala-list mailing list [email protected] https://mail.gnome.org/mailman/listinfo/vala-list
