summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/Makefile.am4
-rw-r--r--src/gdu/Makefile.am3
-rw-r--r--src/gdu/gdu-device.h5
-rw-r--r--src/gdu/gdu-pool.h3
-rw-r--r--src/gdu/gdu-private.h4
-rw-r--r--src/gdu/gdu-shared.h34
6 files changed, 45 insertions, 8 deletions
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 8930e03..37966d8 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -11,7 +11,7 @@ DOC_MODULE=gnome-disk-utility
DOC_MAIN_SGML_FILE=gnome-disk-utility-docs.xml
# Extra options to supply to gtkdoc-scan
-SCAN_OPTIONS=--ignore-headers="config.h devkit-disks-daemon-glue.h devkit-disks-device-glue.h gdu-private.h gdu-marshal.h"
+SCAN_OPTIONS=--ignore-headers="config.h devkit-disks-daemon-glue.h devkit-disks-device-glue.h gdu-private.h gdu-marshal.h gdu-shared.h"
# The directory containing the source code. Relative to $(srcdir)
DOC_SOURCE_DIR=../src/gdu
@@ -46,7 +46,7 @@ GTKDOC_LIBS = \
# Extra options to supply to gtkdoc-mkdb
MKDB_OPTIONS=--sgml-mode --output-format=xml \
- --ignore-files="devkit-disks-daemon-glue.h devkit-disks-device-glue.h gdu-private.h gdu-marshal.h"
+ --ignore-files="devkit-disks-daemon-glue.h devkit-disks-device-glue.h gdu-private.h gdu-marshal.h gdu-shared.h"
# Extra options to supply to gtkdoc-mktmpl
MKTMPL_OPTIONS=
diff --git a/src/gdu/Makefile.am b/src/gdu/Makefile.am
index 2dc6626..f2dffef 100644
--- a/src/gdu/Makefile.am
+++ b/src/gdu/Makefile.am
@@ -22,6 +22,7 @@ libgduincludedir=$(includedir)/gnome-disk-utility/gdu
libgduinclude_HEADERS = \
gdu.h \
+ gdu-shared.h \
gdu-activatable-drive.h \
gdu-device.h \
gdu-drive.h \
@@ -37,6 +38,8 @@ libgduinclude_HEADERS = \
gdu-volume-hole.h
libgdu_la_SOURCES = \
+ gdu.h \
+ gdu-shared.h \
gdu-util.h gdu-util.c \
gdu-pool.c gdu-pool.h \
gdu-smart-data.c gdu-smart-data.h \
diff --git a/src/gdu/gdu-device.h b/src/gdu/gdu-device.h
index 4898598..8c42729 100644
--- a/src/gdu/gdu-device.h
+++ b/src/gdu/gdu-device.h
@@ -29,6 +29,7 @@
#include <unistd.h>
#include <sys/types.h>
#include <glib-object.h>
+#include <gdu/gdu-shared.h>
#include <gdu/gdu-error.h>
#include <gdu/gdu-smart-data.h>
#include <gdu/gdu-process.h>
@@ -41,14 +42,10 @@
#define GDU_DEVICE_GET_CLASS (G_TYPE_INSTANCE_GET_CLASS ((obj), GDU_TYPE_DEVICE, GduDeviceClass))
typedef struct _GduDeviceClass GduDeviceClass;
-typedef struct _GduDevice GduDevice;
struct _GduDevicePrivate;
typedef struct _GduDevicePrivate GduDevicePrivate;
-struct _GduPool;
-typedef struct _GduPool GduPool;
-
struct _GduDevice
{
GObject parent;
diff --git a/src/gdu/gdu-pool.h b/src/gdu/gdu-pool.h
index 1d02c52..e6f5649 100644
--- a/src/gdu/gdu-pool.h
+++ b/src/gdu/gdu-pool.h
@@ -26,7 +26,7 @@
#if !defined(GDU_POOL_H)
#define GDU_POOL_H
-#include <gdu/gdu-device.h>
+#include <gdu/gdu-shared.h>
#include <gdu/gdu-presentable.h>
#include <gdu/gdu-known-filesystem.h>
@@ -37,7 +37,6 @@
#define GDU_IS_POOL_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE ((obj), GDU_TYPE_POOL))
#define GDU_POOL_GET_CLASS (G_TYPE_INSTANCE_GET_CLASS ((obj), GDU_TYPE_POOL, GduPoolClass))
-
typedef struct _GduPoolClass GduPoolClass;
struct _GduPoolPrivate;
diff --git a/src/gdu/gdu-private.h b/src/gdu/gdu-private.h
index 30cf418..ee2c136 100644
--- a/src/gdu/gdu-private.h
+++ b/src/gdu/gdu-private.h
@@ -19,6 +19,10 @@
* 02111-1307, USA.
*/
+#if defined (GNOME_DISK_UTILITY_INSIDE_GDU_H)
+#error "Can't include a private header in the public header file."
+#endif
+
#ifndef GDU_PRIVATE_H
#define GDU_PRIVATE_H
diff --git a/src/gdu/gdu-shared.h b/src/gdu/gdu-shared.h
new file mode 100644
index 0000000..2432877
--- /dev/null
+++ b/src/gdu/gdu-shared.h
@@ -0,0 +1,34 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- */
+/* gdu-shared.h
+ *
+ * Copyright (C) 2007 David Zeuthen
+ *
+ * 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.
+ */
+
+#if !defined (GNOME_DISK_UTILITY_INSIDE_GDU_H) && !defined (GDU_COMPILATION)
+#error "Only <gdu/gdu.h> can be included directly, this file may disappear or change contents."
+#endif
+
+#ifndef GDU_SHARED_H
+#define GDU_SHARED_H
+
+/* forward type definitions */
+
+typedef struct _GduDevice GduDevice;
+typedef struct _GduPool GduPool;
+
+#endif /* GDU_SHARED_H */