diff options
Diffstat (limited to 'gi/pygi-info.h')
-rw-r--r-- | gi/pygi-info.h | 28 |
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); |