## GstImplementsInterface GstImplementsInterface — Core interface implemented by GstElement instances that allows runtime querying of interface availability |

## Synopsis

    #include <gst/gst.h>

                        GstImplementsInterface;
    gboolean            gst_element_implements_interface    (GstElement *element,
                                                             GType iface_type);
    gpointer            gst_implements_interface_cast       (gpointer from,
                                                             GType type);
    gboolean            gst_implements_interface_check      (gpointer from,
                                                             GType type);

## Object Hierarchy

      GInterface
       +----GstImplementsInterface

## Prerequisites

GstImplementsInterface requires GstElement.

## Description

Provides interface functionality on per instance basis and not per class basis, which is the case for gobject.

## Details

### GstImplementsInterface

    typedef struct _GstImplementsInterface GstImplementsInterface;

Opaque GstImplementsInterface structure.

### gst_element_implements_interface ()

    gboolean            gst_element_implements_interface    (GstElement *element,
                                                             GType iface_type);

Test whether the given element implements a certain interface of type iface_type, and test whether it is supported for this specific instance.

`element` : | GstElement to check for the implementation of the interface
`iface_type` : | (final) type of the interface which we want to be implemented
Returns : | whether or not the element implements the interface.

### gst_implements_interface_cast ()

    gpointer            gst_implements_interface_cast       (gpointer from,
                                                             GType type);

cast a given object to an interface type, and check whether this interface is supported for this specific instance.

`from` : | the object (any sort) from which to cast to the interface
`type` : | the interface type to cast to
Returns : | a gpointer to the interface type. [transfer none]

### gst_implements_interface_check ()

    gboolean            gst_implements_interface_check      (gpointer from,
                                                             GType type);

check a given object for an interface implementation, and check whether this interface is supported for this specific instance.

`from` : | the object (any sort) from which to check from for the interface
`type` : | the interface type to check for
Returns : | whether or not the object implements the given interface

## See Also

GstElement