Issue 31: Error building on OSX
[pywebkitgtk.git] / webkit / webkit.override
blob1007ac3b57e111b23dd8d7b9d9113b0918fb7c1d
1 /* -*- Mode: C; c-basic-offset: 4 -*- */
2 /*
3  Copyright (C) 2006, Red Hat, Inc.
4  Copyright (C) 2007, One Laptop Per Child
5  Copyright (C) 2009, Jan Michael Alonzo <jmalonzo@gmail.com>
7  This program is free software; you can redistribute it and/or modify
8  it under the terms of the GNU General Public License as published by
9  the Free Software Foundation; either version 2 of the License, or
10  (at your option) any later version.
12  This program is distributed in the hope that it will be useful,
13  but WITHOUT ANY WARRANTY; without even the implied warranty of
14  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  GNU General Public License for more details.
17  You should have received a copy of the GNU General Public License
18  along with this program; if not, write to the Free Software
19  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
23 headers
24 #include <Python.h>
25 #define NO_IMPORT_PYGOBJECT
26 #define NO_IMPORT_PYGTK
27 #include <pygtk/pygtk.h>
28 #include <pygobject.h>
29 #include <webkit/webkit.h>
30 #include <JavaScriptCore/JSContextRef.h>
32 #include "javascriptcore/javascriptcore_types.h"
34 body
35 static PyObject *
36 _helper_wrap_gobject_glist (GList *list)
38     PyObject *py_list;
39     GList *tmp;
41     if ((py_list = PyList_New(0)) == NULL) {
42         return NULL;
43     }
44     for (tmp = list; tmp != NULL; tmp = tmp->next) {
45         PyObject *py_obj = pygobject_new(G_OBJECT(tmp->data));
47         if (py_obj == NULL) {
48             Py_DECREF(py_list);
49             return NULL;
50         }
51         
52         PyList_Append(py_list, py_obj);
53         Py_DECREF(py_obj);
54     }
56     return py_list;
59 modulename webkit
61 import gtk.Container as PyGtkContainer_Type
62 import gobject.GObject as PyGObject_Type
63 import gtk.PrintOperation as PyGtkPrintOperation_Type
65 ignore-glob
66   *_get_type
67   _*
69 ignore
70   webkit_network_request_get_type
71   webkit_web_back_forward_list_get_type
72   webkit_web_frame_get_type
73   webkit_web_history_item_get_type
74   webkit_web_inspector_get_type
75   webkit_web_view_get_type
76   webkit_web_settings_get_type
77   webkit_download_get_type
79 override webkit_web_frame_get_global_context noargs
80 static PyObject *
81 _wrap_webkit_web_frame_get_global_context (PyGObject *self)
83     JSGlobalContextRef ref;
85     ref = webkit_web_frame_get_global_context (WEBKIT_WEB_FRAME (self->obj));
87     return wrap_JSGlobalContextRef (ref);
90 override webkit_web_back_forward_list_get_back_list_with_limit
91 static PyObject *
92 _wrap_webkit_web_back_forward_list_get_back_list_with_limit (PyGObject *self, PyObject *args, PyObject *kwargs)
94     static char *kwlist[] = { "limit", NULL };
96     GList *list;
97     int limit;
98     
99     if (! PyArg_ParseTupleAndKeywords (args, kwargs, "i:WebBackForwardList.get_back_list_with_limit", kwlist, &limit))
100         return NULL;
101     
102     list = webkit_web_back_forward_list_get_back_list_with_limit(WEBKIT_WEB_BACK_FORWARD_LIST(self->obj),
103                                                                  limit);
104     return _helper_wrap_gobject_glist (list);
107 override webkit_web_back_forward_list_get_forward_list_with_limit
108 static PyObject *
109 _wrap_webkit_web_back_forward_list_get_forward_list_with_limit (PyGObject *self, PyObject *args, PyObject *kwargs)
111     static char *kwlist[] = { "limit", NULL };
113     GList *list;
114     int limit;
115     
116     if (! PyArg_ParseTupleAndKeywords (args, kwargs, "i:WebBackForwardList.get_forward_list_with_limit", kwlist, &limit))
117         return NULL;
119     list = webkit_web_back_forward_list_get_forward_list_with_limit(WEBKIT_WEB_BACK_FORWARD_LIST(self->obj),
120                                                                     limit);
121     return _helper_wrap_gobject_glist (list);
124 override webkit_web_navigation_action_set_reason kwargs
125 static PyObject *
126 _wrap_webkit_web_navigation_action_set_reason(PyGObject *self, PyObject *args, PyObject *kwargs)
128     static char *kwlist[] = { "reason", NULL };
129     PyObject *py_reason;
130     WebKitWebNavigationReason reason = 0;
132     if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O:WebKitWebNavigationAction.set_reason",
133                                      kwlist, &py_reason))
134         return NULL;
136     pyg_enum_get_value(WEBKIT_TYPE_WEB_NAVIGATION_REASON, py_reason, (gint*) &reason);
138     webkit_web_navigation_action_set_reason(WEBKIT_WEB_NAVIGATION_ACTION(self->obj), reason);
140     Py_INCREF(Py_None);
141     return Py_None;
144 override webkit_web_navigation_action_get_reason noargs
145 static PyObject *
146 _wrap_webkit_web_navigation_action_get_reason(PyGObject *self)
148     WebKitWebNavigationReason reason;
150     reason = webkit_web_navigation_action_get_reason(WEBKIT_WEB_NAVIGATION_ACTION(self->obj));
152     return Py_BuildValue("N", pyg_enum_from_gtype(WEBKIT_TYPE_WEB_NAVIGATION_REASON, reason));
155 override webkit_download_get_status noargs
156 static PyObject *
157 _wrap_webkit_download_get_status(PyGObject *self)
159     WebKitDownloadStatus status;
161     status = webkit_download_get_status(WEBKIT_DOWNLOAD(self->obj));
163     return Py_BuildValue("N", pyg_enum_from_gtype(WEBKIT_TYPE_DOWNLOAD_STATUS, status));
166 new-constructor WEBKIT_TYPE_HISTORY_ITEM
168 override webkit_web_history_item_new kwargs
169 static int
170 _wrap_webkit_web_history_item_new(PyGObject *self, PyObject *args, PyObject *kwargs)
172     static char *kwlist[] = {"uri", "title", NULL};
173     gchar *uri = NULL;
174     gchar *title = NULL;
176     if (!PyArg_ParseTupleAndKeywords(args, kwargs, "|zz:WebHistoryItem.__init__",
177                                     kwlist, &uri, &title))
178         return -1;
181     if (uri)
182         self->obj = (GObject *)webkit_web_history_item_new_with_data(uri, title);
183     else
184         self->obj = (GObject *)webkit_web_history_item_new();
186     if (!self->obj) {
187         PyErr_SetString(PyExc_RuntimeError,
188                         "count not create WebHistoryItem object");
189         return -1;
190     }
191     pygobject_register_wrapper((PyObject *)self);
192     return 0;