v4l2: Fix type compatibility issue with glibc 2.30
[platform/upstream/gst-plugins-good.git] / sys / v4l2 / gstv4l2colorbalance.h
index 761360f..90ba7ab 100644 (file)
@@ -1,6 +1,7 @@
-/* G-Streamer generic V4L2 element - Color Balance interface implementation
+/* GStreamer
+ *
  * Copyright (C) 2003 Ronald Bultje <rbultje@ronald.bitfreak.net>
- * Copyright (C) 2006 Edgard Lima <edgard.lima@indt.org.br>
+ *               2006 Edgard Lima <edgard.lima@gmail.com>
  *
  * gstv4l2colorbalance.h: color balance interface implementation for V4L2
  *
  *
  * You should have received a copy of the GNU Library General Public
  * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
  */
 
 #ifndef __GST_V4L2_COLOR_BALANCE_H__
 #define __GST_V4L2_COLOR_BALANCE_H__
 
 #include <gst/gst.h>
-#include <gst/interfaces/colorbalance.h>
-#include "v4l2_calls.h"
+#include <gst/video/colorbalance.h>
+
+#include "gstv4l2object.h"
 
 G_BEGIN_DECLS
 
@@ -33,10 +35,10 @@ G_BEGIN_DECLS
   (gst_v4l2_color_balance_channel_get_type ())
 #define GST_V4L2_COLOR_BALANCE_CHANNEL(obj) \
   (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_V4L2_COLOR_BALANCE_CHANNEL, \
-                              GstV4l2ColorBalanceChannel))
+                               GstV4l2ColorBalanceChannel))
 #define GST_V4L2_COLOR_BALANCE_CHANNEL_CLASS(klass) \
   (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_V4L2_COLOR_BALANCE_CHANNEL, \
-                           GstV4l2ColorBalanceChannelClass))
+                            GstV4l2ColorBalanceChannelClass))
 #define GST_IS_V4L2_COLOR_BALANCE_CHANNEL(obj) \
   (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_V4L2_COLOR_BALANCE_CHANNEL))
 #define GST_IS_V4L2_COLOR_BALANCE_CHANNEL_CLASS(klass) \
@@ -52,18 +54,16 @@ typedef struct _GstV4l2ColorBalanceChannelClass {
   GstColorBalanceChannelClass parent;
 } GstV4l2ColorBalanceChannelClass;
 
-GType  gst_v4l2_color_balance_channel_get_type (void);
+GType gst_v4l2_color_balance_channel_get_type   (void);
 
-extern const GList *
-gst_v4l2_color_balance_list_channels (GstV4l2Object * v4l2object);
+const GList *   gst_v4l2_color_balance_list_channels    (GstV4l2Object * v4l2object);
 
-extern void
-gst_v4l2_color_balance_set_value (GstV4l2Object * v4l2object,
-      GstColorBalanceChannel * channel, gint value);
+void            gst_v4l2_color_balance_set_value        (GstV4l2Object * v4l2object,
+                                                         GstColorBalanceChannel * channel,
+                                                         gint value);
 
-extern gint
-gst_v4l2_color_balance_get_value (GstV4l2Object * v4l2object,
-                                  GstColorBalanceChannel * channel);
+gint            gst_v4l2_color_balance_get_value        (GstV4l2Object * v4l2object,
+                                                         GstColorBalanceChannel * channel);
 
 #define GST_IMPLEMENT_V4L2_COLOR_BALANCE_METHODS(Type, interface_as_function)         \
                                                                                       \
@@ -80,7 +80,7 @@ interface_as_function ## _color_balance_set_value (GstColorBalance * balance,
                                                    gint value)                        \
 {                                                                                     \
   Type *this = (Type*) balance;                                                       \
-  return gst_v4l2_color_balance_set_value(this->v4l2object, channel, value);          \
+  gst_v4l2_color_balance_set_value(this->v4l2object, channel, value);          \
 }                                                                                     \
                                                                                       \
 static gint                                                                           \
@@ -91,15 +91,21 @@ interface_as_function ## _color_balance_get_value (GstColorBalance * balance,
   return gst_v4l2_color_balance_get_value(this->v4l2object, channel);                 \
 }                                                                                     \
                                                                                       \
-void                                                                                  \
-interface_as_function ## _color_balance_interface_init (GstColorBalanceClass * klass) \
+static GstColorBalanceType                                                            \
+interface_as_function ## _color_balance_get_balance_type (GstColorBalance * balance)  \
 {                                                                                     \
-  GST_COLOR_BALANCE_TYPE (klass) = GST_COLOR_BALANCE_HARDWARE;                        \
+  return GST_COLOR_BALANCE_HARDWARE;                                                  \
+}                                                                                     \
                                                                                       \
+static void                                                                           \
+interface_as_function ## _color_balance_interface_init (GstColorBalanceInterface * iface) \
+{                                                                                     \
   /* default virtual functions */                                                     \
-  klass->list_channels = interface_as_function ## _color_balance_list_channels;       \
-  klass->set_value = interface_as_function ## _color_balance_set_value;               \
-  klass->get_value = interface_as_function ## _color_balance_get_value;               \
+  iface->list_channels = interface_as_function ## _color_balance_list_channels;       \
+  iface->set_value = interface_as_function ## _color_balance_set_value;               \
+  iface->get_value = interface_as_function ## _color_balance_get_value;               \
+  iface->get_balance_type = interface_as_function ## _color_balance_get_balance_type; \
 }                                                                                     \
 
+G_END_DECLS
 #endif /* __GST_V4L2_COLOR_BALANCE_H__ */