summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamien Lespiau <damien.lespiau@intel.com>2010-01-12 07:13:04 +0000
committerDamien Lespiau <damien.lespiau@intel.com>2010-01-12 07:13:04 +0000
commit3c5d57eacf8cf2b6d4d6e31ea1f0951700527cca (patch)
tree0d2e1edd166c7c67595f20b41459d957a1f0b03d
parenteec858424bab2934038f651da10b137509c294ce (diff)
downloadclutter-gst-3c5d57eacf8cf2b6d4d6e31ea1f0951700527cca.tar.gz
[misc] Only allow the inclusion of the top level header
Users of the library should not include individual headers but the top level one only (<clutter-gst/clutter-gst.h>). This is to allow us to shuffle things around, remove or rename headers without breaking anything.
-rw-r--r--clutter-gst/Makefile.am7
-rw-r--r--clutter-gst/clutter-gst-audio.h11
-rw-r--r--clutter-gst/clutter-gst-util.h10
-rw-r--r--clutter-gst/clutter-gst-version.h.in4
-rw-r--r--clutter-gst/clutter-gst-video-sink.h10
-rw-r--r--clutter-gst/clutter-gst-video-texture.h10
-rw-r--r--clutter-gst/clutter-gst.h33
7 files changed, 69 insertions, 16 deletions
diff --git a/clutter-gst/Makefile.am b/clutter-gst/Makefile.am
index e5ec201..b138764 100644
--- a/clutter-gst/Makefile.am
+++ b/clutter-gst/Makefile.am
@@ -39,8 +39,12 @@ INCLUDES = \
-I$(top_srcdir)/clutter-gst/shaders \
$(NULL)
-AM_CFLAGS = \
+AM_CPPFLAGS = \
+ -DCLUTTER_GST_COMPILATION \
-DG_LOG_DOMAIN=\"Clutter-Gst\" \
+ $(NULL)
+
+AM_CFLAGS = \
$(MAINTAINER_CFLAGS) \
$(CLUTTER_GST_DEBUG_CFLAGS) \
$(CLUTTER_GST_CFLAGS) \
@@ -66,6 +70,7 @@ ClutterGst-@CLUTTER_GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libclutter-gs
$(QUIET_GEN)$(INTROSPECTION_SCANNER) -v \
--namespace ClutterGst --nsversion=@CLUTTER_GST_API_VERSION@ \
$(INCLUDES) \
+ $(AM_CPPFLAGS) \
--add-include-path=$(srcdir) --add-include=path=. \
--c-include="clutter-gst/clutter-gst.h" \
--include=GObject-2.0 \
diff --git a/clutter-gst/clutter-gst-audio.h b/clutter-gst/clutter-gst-audio.h
index f5449af..89dac62 100644
--- a/clutter-gst/clutter-gst-audio.h
+++ b/clutter-gst/clutter-gst-audio.h
@@ -25,8 +25,13 @@
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
-#ifndef _HAVE_CLUTTER_GST_AUDIO_H
-#define _HAVE_CLUTTER_GST_AUDIO_H
+
+#if !defined(__CLUTTER_GST_H_INSIDE__) && !defined(CLUTTER_GST_COMPILATION)
+#error "Only <clutter-gst/clutter-gst.h> can be included directly."
+#endif
+
+#ifndef __CLUTTER_GST_AUDIO_H__
+#define __CLUTTER_GST_AUDIO_H__
#include <glib-object.h>
#include <clutter/clutter.h>
@@ -101,4 +106,4 @@ GstElement *clutter_gst_audio_get_pipeline (ClutterGstAudio *audio);
G_END_DECLS
-#endif
+#endif /* __CLUTTER_GST_AUDIO_H__ */
diff --git a/clutter-gst/clutter-gst-util.h b/clutter-gst/clutter-gst-util.h
index 338d58d..ea738a2 100644
--- a/clutter-gst/clutter-gst-util.h
+++ b/clutter-gst/clutter-gst-util.h
@@ -25,8 +25,12 @@
* Boston, MA 02111-1307, USA.
*/
-#ifndef _HAVE_CLUTTER_GST_UTIL_H
-#define _HAVE_CLUTTER_GST_UTIL_H
+#if !defined(__CLUTTER_GST_H_INSIDE__) && !defined(CLUTTER_GST_COMPILATION)
+#error "Only <clutter-gst/clutter-gst.h> can be include directly."
+#endif
+
+#ifndef __CLUTTER_GST_UTIL_H__
+#define __CLUTTER_GST_UTIL_H__
#include <clutter/clutter.h>
@@ -43,4 +47,4 @@ ClutterInitError clutter_gst_init_with_args (int *argc,
G_END_DECLS
-#endif
+#endif /* __CLUTTER_GST_UTIL_H__ */
diff --git a/clutter-gst/clutter-gst-version.h.in b/clutter-gst/clutter-gst-version.h.in
index 0993393..d4f2501 100644
--- a/clutter-gst/clutter-gst-version.h.in
+++ b/clutter-gst/clutter-gst-version.h.in
@@ -23,6 +23,10 @@
* Boston, MA 02111-1307, USA.
*/
+#if !defined(__CLUTTER_GST_H_INSIDE__) && !defined(CLUTTER_GST_COMPILATION)
+#error "Only <clutter-gst/clutter-gst.h> can be included directly."
+#endif
+
/**
* SECTION:clutter-gst-version
* @short_description: Versioning Macros
diff --git a/clutter-gst/clutter-gst-video-sink.h b/clutter-gst/clutter-gst-video-sink.h
index 6e63a4d..1a4ba8e 100644
--- a/clutter-gst/clutter-gst-video-sink.h
+++ b/clutter-gst/clutter-gst-video-sink.h
@@ -26,8 +26,12 @@
* Boston, MA 02111-1307, USA.
*/
-#ifndef _HAVE_CLUTTER_GST_VIDEO_SINK_H
-#define _HAVE_CLUTTER_GST_VIDEO_SINK_H
+#if !defined(__CLUTTER_GST_H_INSIDE__) && !defined(CLUTTER_GST_COMPILATION)
+#error "Only <clutter-gst/clutter-gst.h> can be included directly."
+#endif
+
+#ifndef __CLUTTER_GST_VIDEO_SINK_H__
+#define __CLUTTER_GST_VIDEO_SINK_H__
#include <glib-object.h>
#include <gst/base/gstbasesink.h>
@@ -100,4 +104,4 @@ GstElement *clutter_gst_video_sink_new (ClutterTexture *texture);
G_END_DECLS
-#endif
+#endif /* __CLUTTER_GST_VIDEO_SINK_H__ */
diff --git a/clutter-gst/clutter-gst-video-texture.h b/clutter-gst/clutter-gst-video-texture.h
index 48b19f7..f29f004 100644
--- a/clutter-gst/clutter-gst-video-texture.h
+++ b/clutter-gst/clutter-gst-video-texture.h
@@ -26,8 +26,12 @@
* Boston, MA 02111-1307, USA.
*/
-#ifndef _HAVE_CLUTTER_GST_VIDEO_TEXTURE_H
-#define _HAVE_CLUTTER_GST_VIDEO_TEXTURE_H
+#if !defined(__CLUTTER_GST_H_INSIDE__) && !defined(CLUTTER_GST_COMPILATION)
+#error "Only <clutter-gst/clutter-gst.h> can be included directly."
+#endif
+
+#ifndef __CLUTTER_GST_VIDEO_TEXTURE_H__
+#define __CLUTTER_GST_VIDEO_TEXTURE_H__
#include <glib-object.h>
#include <clutter/clutter.h>
@@ -102,4 +106,4 @@ GstElement *clutter_gst_video_texture_get_pipeline (ClutterGstVideoTexture *t
G_END_DECLS
-#endif
+#endif /* __CLUTTER_GST_VIDEO_TEXTURE_H__ */
diff --git a/clutter-gst/clutter-gst.h b/clutter-gst/clutter-gst.h
index a5d6dda..595cd08 100644
--- a/clutter-gst/clutter-gst.h
+++ b/clutter-gst/clutter-gst.h
@@ -1,12 +1,39 @@
-#ifndef _HAVE_CLUTTER_GST_H
-#define _HAVE_CLUTTER_GST_H
+/*
+ * Clutter-GStreamer.
+ *
+ * GStreamer integration library for Clutter.
+ *
+ * clutter.h - Top level header file.
+ *
+ * Copyright (C) 2006 OpenedHand
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser 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.
+ */
+
+#ifndef __CLUTTER_GST_H__
+#define __CLUTTER_GST_H__
#include <clutter/clutter.h>
+#define __CLUTTER_GST_H_INSIDE__
+
#include "clutter-gst-video-texture.h"
#include "clutter-gst-video-sink.h"
#include "clutter-gst-audio.h"
#include "clutter-gst-util.h"
#include "clutter-gst-version.h"
-#endif
+#endif /* __CLUTTER_GST_H__ */