com gtk/php-gtk: Added MozEmbed extension's files :): ext/mozembed/Makefile.frag ext/mozembed/config.m4 ext/mozembed/mozembed.defs ext/mozembed/mozembed.overrides ext/mozembed/php_mozembed.c ext/mozembed/php_mozembed .h ext/mozembed/ref.mozembed.defs ext/mozembed/ref. mozembed.override
[email protected] (David Soria Parra) Tue, 07 Mar 2006 19:33:41 +0000
| Newsgroups | php.gtk.cvs |
|---|---|
| Message-ID | <[email protected]> |
Commit: 0d5d995f1ce5b75bffc1045cbbdbf5cbc42f7447 Author: Anant Narayanan <[email protected]> Tue, 7 Mar 2006 19:33:41 +0000 Parents: 44fa3add57996edbbe7416e04c08aa4d4650fdaf Branches: master Link: http://git.php.net/?p=gtk/php-gtk.git;a=commitdiff;h=0d5d995f1ce5b75bffc1045cbbdbf5cbc42f7447 Log: Added MozEmbed extension's files :) Changed paths: A ext/mozembed/Makefile.frag A ext/mozembed/config.m4 A ext/mozembed/mozembed.defs A ext/mozembed/mozembed.overrides A ext/mozembed/php_mozembed.c A ext/mozembed/php_mozembed.h A ext/mozembed/ref.mozembed.defs A ext/mozembed/ref.mozembed.override
diff_0d5d995f1ce5b75bffc1045cbbdbf5cbc42f7447.txt
(text/plain, 17.1 KB)
0d5d995f1ce5b75bffc1045cbbdbf5cbc42f7447
diff --git a/ext/mozembed/Makefile.frag b/ext/mozembed/Makefile.frag
new file mode 100644
index 0000000..ef7801e
--- /dev/null
+++ b/ext/mozembed/Makefile.frag
@@ -0,0 +1,14 @@
+
+$(builddir)/gen_mozembed.c: $(srcdir)/mozembed.defs $(srcdir)/mozembed.overrides
+ ( \
+ $(PHP) $(top_srcdir)/generator/generator.php \
+ -l $(@D)/$(*F).log \
+ -r ext/gtk+/atk-types.defs \
+ -r ext/gtk+/pango-types.defs \
+ -r ext/gtk+/gdk-types.defs \
+ -r ext/gtk+/gtk-types.defs \
+ -o ext/mozembed/mozembed.overrides \
+ -p GtkMozembed \
+ -f $@ ext/mozembed/mozembed.defs \
+ && grep -h "^PHP_GTK_EXPORT_CE" $@ | sed -e "s!^!extern !" > $(@D)/$(*F).h \
+ )
diff --git a/ext/mozembed/config.m4 b/ext/mozembed/config.m4
new file mode 100644
index 0000000..699123a
--- /dev/null
+++ b/ext/mozembed/config.m4
@@ -0,0 +1,25 @@
+dnl $Id$
+dnl config.m4 for mozembed module
+
+define(mozembed_required_version, 1.7.0)
+
+PHP_GTK_ARG_ENABLE(mozembed,for GtkMozEmbed support,
+[ --enable-mozembed Enable GtkMozEmbed support],no)
+
+if test "$PHP_GTK_MOZEMBED" != "no"; then
+ PKG_CHECK_MODULES(MOZEMBED, [mozilla-gtkmozembed >= mozembed_required_version],
+ have_mozembed=yes, have_mozembed=no)
+ if test "$have_mozembed" != "yes"; then
+ AC_MSG_RESULT([Unable to locate mozembed version mozembed_required_version or higher: not building])
+ else
+ AC_DEFINE(HAVE_MOZEMBED, 1, [mozembed support])
+ PHP_EVAL_INCLINE($MOZEMBED_CFLAGS)
+ if test "$php_gtk_ext_shared" = "yes"; then
+ PHP_EVAL_LIBLINE($MOZEMBED_LIBS, MOZEMBED_SHARED_LIBADD)
+ PHP_SUBST(MOZEMBED_SHARED_LIBADD)
+ else
+ PHP_EVAL_LIBLINE($MOZEMBED_LIBS, PHP_GTK2_SHARED_LIBADD)
+ fi
+ PHP_GTK_EXTENSION(mozembed, $php_gtk_ext_shared, php_mozembed.c, gen_mozembed.c)
+ fi
+fi
diff --git a/ext/mozembed/mozembed.defs b/ext/mozembed/mozembed.defs
new file mode 100644
index 0000000..750d20b
--- /dev/null
+++ b/ext/mozembed/mozembed.defs
@@ -0,0 +1,204 @@
+;; -*- scheme -*-
+; object definitions ...
+(define-object MozEmbed
+ (in-module "Gtk")
+ (parent "GtkBin")
+ (c-name "GtkMozEmbed")
+ (gtype-id "GTK_TYPE_MOZ_EMBED")
+)
+
+;; Enumerations and flags ...
+
+;; From /usr/include/mozilla-1.2b/gtkembedmoz/gtkmozembed.h
+
+(define-function gtk_moz_embed_get_type
+ (c-name "gtk_moz_embed_get_type")
+ (return-type "GtkType")
+)
+
+(define-function gtk_moz_embed_new
+ (c-name "gtk_moz_embed_new")
+ (is-constructor-of "GtkMozEmbed")
+ (return-type "GtkWidget*")
+)
+
+(define-method load_url
+ (of-object "GtkMozEmbed")
+ (c-name "gtk_moz_embed_load_url")
+ (return-type "none")
+ (parameters
+ '("const-char*" "url")
+ )
+)
+
+(define-method stop_load
+ (of-object "GtkMozEmbed")
+ (c-name "gtk_moz_embed_stop_load")
+ (return-type "none")
+)
+
+(define-method can_go_back
+ (of-object "GtkMozEmbed")
+ (c-name "gtk_moz_embed_can_go_back")
+ (return-type "gboolean")
+)
+
+(define-method can_go_forward
+ (of-object "GtkMozEmbed")
+ (c-name "gtk_moz_embed_can_go_forward")
+ (return-type "gboolean")
+)
+
+(define-method go_back
+ (of-object "GtkMozEmbed")
+ (c-name "gtk_moz_embed_go_back")
+ (return-type "none")
+)
+
+(define-method go_forward
+ (of-object "GtkMozEmbed")
+ (c-name "gtk_moz_embed_go_forward")
+ (return-type "none")
+)
+
+(define-method render_data
+ (of-object "GtkMozEmbed")
+ (c-name "gtk_moz_embed_render_data")
+ (return-type "none")
+ (parameters
+ '("const-char*" "data")
+ '("guint32" "len")
+ '("const-char*" "base_uri")
+ '("const-char*" "mime_type")
+ )
+)
+
+(define-method open_stream
+ (of-object "GtkMozEmbed")
+ (c-name "gtk_moz_embed_open_stream")
+ (return-type "none")
+ (parameters
+ '("const-char*" "base_uri")
+ '("const-char*" "mime_type")
+ )
+)
+
+(define-method append_data
+ (of-object "GtkMozEmbed")
+ (c-name "gtk_moz_embed_append_data")
+ (return-type "none")
+ (parameters
+ '("const-char*" "data")
+ '("guint32" "len")
+ )
+)
+
+(define-method close_stream
+ (of-object "GtkMozEmbed")
+ (c-name "gtk_moz_embed_close_stream")
+ (return-type "none")
+)
+
+(define-method get_link_message
+ (of-object "GtkMozEmbed")
+ (c-name "gtk_moz_embed_get_link_message")
+ (return-type "char*")
+)
+
+(define-method get_js_status
+ (of-object "GtkMozEmbed")
+ (c-name "gtk_moz_embed_get_js_status")
+ (return-type "char*")
+)
+
+(define-method get_title
+ (of-object "GtkMozEmbed")
+ (c-name "gtk_moz_embed_get_title")
+ (return-type "char*")
+)
+
+(define-method get_location
+ (of-object "GtkMozEmbed")
+ (c-name "gtk_moz_embed_get_location")
+ (return-type "char*")
+)
+
+(define-method reload
+ (of-object "GtkMozEmbed")
+ (c-name "gtk_moz_embed_reload")
+ (return-type "none")
+ (parameters
+ '("gint32" "flags")
+ )
+)
+
+(define-method set_chrome_mask
+ (of-object "GtkMozEmbed")
+ (c-name "gtk_moz_embed_set_chrome_mask")
+ (return-type "none")
+ (parameters
+ '("guint32" "flags")
+ )
+)
+
+(define-method get_chrome_mask
+ (of-object "GtkMozEmbed")
+ (c-name "gtk_moz_embed_get_chrome_mask")
+ (return-type "guint32")
+)
+
+;; Added to stop errors
+(define-object Frame
+ (in-module "Gtk")
+ (parent "GtkBin")
+ (c-name "GtkFrame")
+ (gtype-id "GTK_TYPE_FRAME")
+)
+
+(define-object Bin
+ (in-module "Gtk")
+ (parent "GtkContainer")
+ (c-name "GtkBin")
+ (gtype-id "GTK_TYPE_BIN")
+ (fields
+ '("GtkWidget*" "child")
+ )
+)
+
+(define-object Container
+ (in-module "Gtk")
+ (parent "GtkWidget")
+ (c-name "GtkContainer")
+ (gtype-id "GTK_TYPE_CONTAINER")
+ (fields
+ '("GtkWidget*" "focus_child")
+ '("guint" "border_width")
+ '("guint" "need_resize")
+ '("guint" "resize_mode")
+ '("guint" "reallocate_redraws")
+ '("guint" "has_focus_chain")
+ )
+)
+
+(define-object Widget
+ (in-module "Gtk")
+ (parent "GtkObject")
+ (c-name "GtkWidget")
+ (gtype-id "GTK_TYPE_WIDGET")
+ (fields
+ '("guint8" "state")
+ '("guint8" "saved_state")
+ '("gchar*" "name")
+ '("GtkStyle*" "style")
+ '("GdkRectangle" "allocation")
+ '("GdkWindow*" "window")
+ '("GtkWidget*" "parent")
+ )
+)
+
+(define-object Object
+ (in-module "Gtk")
+ (parent "GObject")
+ (c-name "GtkObject")
+ (gtype-id "GTK_TYPE_OBJECT")
+)
diff --git a/ext/mozembed/mozembed.overrides b/ext/mozembed/mozembed.overrides
new file mode 100644
index 0000000..ac1d3b6
--- /dev/null
+++ b/ext/mozembed/mozembed.overrides
@@ -0,0 +1,10 @@
+/* vim: set ft=cpp: */
+%%
+headers
+#include <gtkmozembed.h>
+#include "ext/gtk+/php_gtk+.h"
+%%
+constants
+%%
+ignore-glob
+ *_get_type
diff --git a/ext/mozembed/php_mozembed.c b/ext/mozembed/php_mozembed.c
new file mode 100644
index 0000000..6506ea7
--- /dev/null
+++ b/ext/mozembed/php_mozembed.c
@@ -0,0 +1,45 @@
+/*
+ * PHP-GTK - The PHP language bindings for GTK+
+ *
+ * Copyright (C) 2001,2002 Andrei Zmievski <[email protected]>
+ *
+ * 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.1 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
+ */
+
+/* $Id$ */
+
+#include "php_mozembed.h"
+
+#if HAVE_MOZEMBED
+
+#ifdef COMPILE_DL_MOZEMBED
+PHP_GTK_GET_EXTENSION(mozembed)
+#endif
+
+PHP_GTK_XINIT_FUNCTION(mozembed)
+{
+ phpg_gtkmozembed_register_classes();
+ phpg_gtkmozembed_register_constants("GTK_MOZEMBED_");
+
+ return SUCCESS;
+}
+
+php_gtk_ext_entry mozembed_ext_entry = {
+ "mozembed",
+ PHP_GTK_XINIT(mozembed),
+ NULL,
+};
+
+#endif /* HAVE_MOZEMBED */
diff --git a/ext/mozembed/php_mozembed.h b/ext/mozembed/php_mozembed.h
new file mode 100644
index 0000000..33310b1
--- /dev/null
+++ b/ext/mozembed/php_mozembed.h
@@ -0,0 +1,44 @@
+/*
+ * PHP-GTK - The PHP language bindings for GTK+
+ *
+ * Copyright (C) 2001,2002 Andrei Zmievski <[email protected]>
+ *
+ * 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.1 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
+ */
+
+/* $Id$ */
+
+#ifndef PHP_MOZEMBED_H
+#define PHP_MOZEMBED_H
+
+#include "php_gtk.h"
+
+#if HAVE_MOZEMBED
+
+#include <gtkmozembed.h>
+
+extern php_gtk_ext_entry mozembed_ext_entry;
+#define php_gtk_ext_mozembed_ptr &mozembed_ext_entry
+
+void phpg_gtkmozembed_register_classes(void);
+void phpg_gtkmozembed_register_constants(const char *strip_prefix);
+
+#else
+
+#define php_gtk_ext_mozembed_ptr NULL
+
+#endif /* HAVE_MOZEMBED */
+
+#endif /* PHP_MOZEMBED_H */
diff --git a/ext/mozembed/ref.mozembed.defs b/ext/mozembed/ref.mozembed.defs
new file mode 100644
index 0000000..f6df7bb
--- /dev/null
+++ b/ext/mozembed/ref.mozembed.defs
@@ -0,0 +1,276 @@
+;; -*- scheme -*-
+; object definitions ...
+(define-object MozEmbed
+ (in-module "Gtk")
+ (parent "GtkBin")
+ (c-name "GtkMozEmbed")
+ (gtype-id "GTK_TYPE_MOZ_EMBED")
+)
+
+; (define-object MozEmbedSingle
+; (in-module "Gtk")
+; (parent "GtkObject")
+; (c-name "GtkMozEmbedSingle")
+; (gtype-id "GTK_TYPE_MOZ_EMBED_SINGLE")
+; )
+
+;; Enumerations and flags ...
+
+(define-enum MozEmbedProgressFlags
+ (in-module "Gtk")
+ (c-name "GtkMozEmbedProgressFlags")
+ (values
+ '("start" "GTK_MOZ_EMBED_FLAG_START")
+ '("redirecting" "GTK_MOZ_EMBED_FLAG_REDIRECTING")
+ '("transferring" "GTK_MOZ_EMBED_FLAG_TRANSFERRING")
+ '("negotiating" "GTK_MOZ_EMBED_FLAG_NEGOTIATING")
+ '("stop" "GTK_MOZ_EMBED_FLAG_STOP")
+ '("is-request" "GTK_MOZ_EMBED_FLAG_IS_REQUEST")
+ '("is-document" "GTK_MOZ_EMBED_FLAG_IS_DOCUMENT")
+ '("is-network" "GTK_MOZ_EMBED_FLAG_IS_NETWORK")
+ '("is-window" "GTK_MOZ_EMBED_FLAG_IS_WINDOW")
+ )
+)
+
+(define-enum MozEmbedStatusFlags
+ (in-module "Gtk")
+ (c-name "GtkMozEmbedStatusFlags")
+ (values
+ '("dns" "GTK_MOZ_EMBED_STATUS_FAILED_DNS")
+ '("connect" "GTK_MOZ_EMBED_STATUS_FAILED_CONNECT")
+ '("timeout" "GTK_MOZ_EMBED_STATUS_FAILED_TIMEOUT")
+ '("usercanceled" "GTK_MOZ_EMBED_STATUS_FAILED_USERCANCELED")
+ )
+)
+
+(define-enum MozEmbedReloadFlags
+ (in-module "Gtk")
+ (c-name "GtkMozEmbedReloadFlags")
+ (values
+ '("normal" "GTK_MOZ_EMBED_FLAG_RELOADNORMAL")
+ '("bypasscache" "GTK_MOZ_EMBED_FLAG_RELOADBYPASSCACHE")
+ '("bypassproxy" "GTK_MOZ_EMBED_FLAG_RELOADBYPASSPROXY")
+ '("bypassproxyandcache" "GTK_MOZ_EMBED_FLAG_RELOADBYPASSPROXYANDCACHE")
+ '("charsetchange" "GTK_MOZ_EMBED_FLAG_RELOADCHARSETCHANGE")
+ )
+)
+
+(define-enum MozEmbedChromeFlags
+ (in-module "Gtk")
+ (c-name "GtkMozEmbedChromeFlags")
+ (values
+ '("defaultchrome" "GTK_MOZ_EMBED_FLAG_DEFAULTCHROME")
+ '("windowborderson" "GTK_MOZ_EMBED_FLAG_WINDOWBORDERSON")
+ '("windowcloseon" "GTK_MOZ_EMBED_FLAG_WINDOWCLOSEON")
+ '("windowresizeon" "GTK_MOZ_EMBED_FLAG_WINDOWRESIZEON")
+ '("menubaron" "GTK_MOZ_EMBED_FLAG_MENUBARON")
+ '("toolbaron" "GTK_MOZ_EMBED_FLAG_TOOLBARON")
+ '("locationbaron" "GTK_MOZ_EMBED_FLAG_LOCATIONBARON")
+ '("statusbaron" "GTK_MOZ_EMBED_FLAG_STATUSBARON")
+ '("personaltoolbaron" "GTK_MOZ_EMBED_FLAG_PERSONALTOOLBARON")
+ '("scrollbarson" "GTK_MOZ_EMBED_FLAG_SCROLLBARSON")
+ '("titlebaron" "GTK_MOZ_EMBED_FLAG_TITLEBARON")
+ '("extrachromeon" "GTK_MOZ_EMBED_FLAG_EXTRACHROMEON")
+ '("allchrome" "GTK_MOZ_EMBED_FLAG_ALLCHROME")
+ '("windowraised" "GTK_MOZ_EMBED_FLAG_WINDOWRAISED")
+ '("windowlowered" "GTK_MOZ_EMBED_FLAG_WINDOWLOWERED")
+ '("centerscreen" "GTK_MOZ_EMBED_FLAG_CENTERSCREEN")
+ '("dependent" "GTK_MOZ_EMBED_FLAG_DEPENDENT")
+ '("modal" "GTK_MOZ_EMBED_FLAG_MODAL")
+ '("openasdialog" "GTK_MOZ_EMBED_FLAG_OPENASDIALOG")
+ '("openaschrome" "GTK_MOZ_EMBED_FLAG_OPENASCHROME")
+ )
+)
+
+
+;; From /usr/include/mozilla-1.2b/gtkembedmoz/gtkmozembed.h
+
+(define-function gtk_moz_embed_get_type
+ (c-name "gtk_moz_embed_get_type")
+ (return-type "GtkType")
+)
+
+(define-function gtk_moz_embed_new
+ (c-name "gtk_moz_embed_new")
+ (is-constructor-of "GtkMozEmbed")
+ (return-type "GtkWidget*")
+)
+
+(define-function push_startup
+ (c-name "gtk_moz_embed_push_startup")
+ (return-type "none")
+)
+
+(define-function pop_startup
+ (c-name "gtk_moz_embed_pop_startup")
+ (return-type "none")
+)
+
+(define-function gtk_moz_embed_set_comp_path
+ (c-name "gtk_moz_embed_set_comp_path")
+ (return-type "none")
+ (parameters
+ '("char*" "aPath")
+ )
+)
+
+(define-function gtk_moz_embed_set_profile_path
+ (c-name "gtk_moz_embed_set_profile_path")
+ (return-type "none")
+ (parameters
+ '("char*" "aDir")
+ '("char*" "aName")
+ )
+)
+
+(define-method load_url
+ (of-object "GtkMozEmbed")
+ (c-name "gtk_moz_embed_load_url")
+ (return-type "none")
+ (parameters
+ '("const-char*" "url")
+ )
+)
+
+(define-method stop_load
+ (of-object "GtkMozEmbed")
+ (c-name "gtk_moz_embed_stop_load")
+ (return-type "none")
+)
+
+(define-method can_go_back
+ (of-object "GtkMozEmbed")
+ (c-name "gtk_moz_embed_can_go_back")
+ (return-type "gboolean")
+)
+
+(define-method can_go_forward
+ (of-object "GtkMozEmbed")
+ (c-name "gtk_moz_embed_can_go_forward")
+ (return-type "gboolean")
+)
+
+(define-method go_back
+ (of-object "GtkMozEmbed")
+ (c-name "gtk_moz_embed_go_back")
+ (return-type "none")
+)
+
+(define-method go_forward
+ (of-object "GtkMozEmbed")
+ (c-name "gtk_moz_embed_go_forward")
+ (return-type "none")
+)
+
+(define-method render_data
+ (of-object "GtkMozEmbed")
+ (c-name "gtk_moz_embed_render_data")
+ (return-type "none")
+ (parameters
+ '("const-char*" "data")
+ '("guint32" "len")
+ '("const-char*" "base_uri")
+ '("const-char*" "mime_type")
+ )
+)
+
+(define-method open_stream
+ (of-object "GtkMozEmbed")
+ (c-name "gtk_moz_embed_open_stream")
+ (return-type "none")
+ (parameters
+ '("const-char*" "base_uri")
+ '("const-char*" "mime_type")
+ )
+)
+
+(define-method append_data
+ (of-object "GtkMozEmbed")
+ (c-name "gtk_moz_embed_append_data")
+ (return-type "none")
+ (parameters
+ '("const-char*" "data")
+ '("guint32" "len")
+ )
+)
+
+(define-method close_stream
+ (of-object "GtkMozEmbed")
+ (c-name "gtk_moz_embed_close_stream")
+ (return-type "none")
+)
+
+(define-method get_link_message
+ (of-object "GtkMozEmbed")
+ (c-name "gtk_moz_embed_get_link_message")
+ (return-type "char*")
+)
+
+(define-method get_js_status
+ (of-object "GtkMozEmbed")
+ (c-name "gtk_moz_embed_get_js_status")
+ (return-type "char*")
+)
+
+(define-method get_title
+ (of-object "GtkMozEmbed")
+ (c-name "gtk_moz_embed_get_title")
+ (return-type "char*")
+)
+
+(define-method get_location
+ (of-object "GtkMozEmbed")
+ (c-name "gtk_moz_embed_get_location")
+ (return-type "char*")
+)
+
+(define-method reload
+ (of-object "GtkMozEmbed")
+ (c-name "gtk_moz_embed_reload")
+ (return-type "none")
+ (parameters
+ '("gint32" "flags")
+ )
+)
+
+(define-method set_chrome_mask
+ (of-object "GtkMozEmbed")
+ (c-name "gtk_moz_embed_set_chrome_mask")
+ (return-type "none")
+ (parameters
+ '("guint32" "flags")
+ )
+)
+
+(define-method get_chrome_mask
+ (of-object "GtkMozEmbed")
+ (c-name "gtk_moz_embed_get_chrome_mask")
+ (return-type "guint32")
+)
+
+; (define-function gtk_moz_embed_progress_flags_get_type
+; (c-name "gtk_moz_embed_progress_flags_get_type")
+; (return-type "GtkType")
+; )
+
+; (define-function gtk_moz_embed_status_enums_get_type
+; (c-name "gtk_moz_embed_status_enums_get_type")
+; (return-type "GtkType")
+; )
+
+; (define-function gtk_moz_embed_reload_flags_get_type
+; (c-name "gtk_moz_embed_reload_flags_get_type")
+; (return-type "GtkType")
+; )
+
+; (define-function gtk_moz_embed_chrome_flags_get_type
+; (c-name "gtk_moz_embed_chrome_flags_get_type")
+; (return-type "GtkType")
+; )
+
+(define-function gtk_moz_embed_single_get
+ (c-name "gtk_moz_embed_single_get")
+ (return-type "GtkMozEmbedSingle*")
+)
+
+
diff --git a/ext/mozembed/ref.mozembed.override b/ext/mozembed/ref.mozembed.override
new file mode 100644
index 0000000..4fd4aa9
--- /dev/null
+++ b/ext/mozembed/ref.mozembed.override
@@ -0,0 +1,18 @@
+/* -*- Mode: C; c-basic-offset: 4 -*- */
+%%
+headers
+#include <Python.h>
+
+#include "pygobject.h"
+#include <gtkmozembed.h>
+
+%%
+modulename gtkmozembed
+%%
+import gobject.GObject as PyGObject_Type
+import gtk.Object as PyGtkObject_Type
+import gtk.Bin as PyGtkBin_Type
+%%
+ignore-glob
+ *_get_type
+ _*