summaryrefslogtreecommitdiff
path: root/gi/pygi-info.h
diff options
context:
space:
mode:
Diffstat (limited to 'gi/pygi-info.h')
-rw-r--r--gi/pygi-info.h28
1 files changed, 24 insertions, 4 deletions
diff --git a/gi/pygi-info.h b/gi/pygi-info.h
index d550d8d..12ef491 100644
--- a/gi/pygi-info.h
+++ b/gi/pygi-info.h
@@ -14,9 +14,7 @@
* 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
- * USA
+ * License along with this library; if not, see <http://www.gnu.org/licenses/>.
*/
#ifndef __PYGI_INFO_H__
@@ -25,9 +23,31 @@
#include <Python.h>
#include <girepository.h>
+#include "pygi-cache.h"
G_BEGIN_DECLS
+typedef struct {
+ PyObject_HEAD
+ GIBaseInfo *info;
+ PyObject *inst_weakreflist;
+ PyGICallableCache *cache;
+} PyGIBaseInfo;
+
+typedef struct {
+ PyGIBaseInfo base;
+
+ /* Reference the unbound version of this struct.
+ * We use this for the actual call to invoke because it manages the cache.
+ */
+ struct PyGICallableInfo *py_unbound_info;
+
+ /* Holds bound argument for instance, class, and vfunc methods. */
+ PyObject *py_bound_arg;
+
+} PyGICallableInfo;
+
+
gboolean pygi_g_struct_info_is_simple (GIStructInfo *struct_info);
@@ -66,7 +86,7 @@ gchar* _pygi_g_base_info_get_fullname (GIBaseInfo *info);
gsize _pygi_g_type_tag_size (GITypeTag type_tag);
gsize _pygi_g_type_info_size (GITypeInfo *type_info);
-void _pygi_info_register_types (PyObject *m);
+int pygi_info_register_types (PyObject *m);
gboolean _pygi_is_python_keyword (const gchar *name);