summaryrefslogtreecommitdiff
path: root/gi/pygi-cache.h
diff options
context:
space:
mode:
authorJohn (J5) Palmieri <johnp@redhat.com>2011-07-07 15:18:03 -0400
committerJohn (J5) Palmieri <johnp@redhat.com>2011-07-07 15:18:03 -0400
commit10e31005baec26f61c0f8fca2b5c0337b0be6c70 (patch)
tree8c508e3e8c6b6ff2d191a0179620726f964926b9 /gi/pygi-cache.h
parentb4ad91c40f713ebdc278ce40b011e4adf9ddbbd7 (diff)
downloadpygobject-10e31005baec26f61c0f8fca2b5c0337b0be6c70.tar.gz
rename aux arguments to child arguments to make their purpose clearer
Diffstat (limited to 'gi/pygi-cache.h')
-rw-r--r--gi/pygi-cache.h29
1 files changed, 20 insertions, 9 deletions
diff --git a/gi/pygi-cache.h b/gi/pygi-cache.h
index 70dfa7f8..d4caa459 100644
--- a/gi/pygi-cache.h
+++ b/gi/pygi-cache.h
@@ -48,18 +48,29 @@ typedef void (*PyGIMarshalCleanupFunc) (PyGIInvokeState *state,
PyGIArgCache *arg_cache,
gpointer data,
gboolean was_processed);
+
+/* Argument meta types denote how we process the argument:
+ * - Parents (PYGI_META_ARG_TYPE_PARENT) may or may not have children
+ * but are always processed via the normal marshaller for their
+ * actual GI type. If they have children the marshaller will
+ * also handle marshalling the children.
+ * - Children without python argument (PYGI_META_ARG_TYPE_CHILD) are
+ * ignored by the marshallers and handled directly by their parents
+ * marshaller.
+ * - Children with pyargs (PYGI_META_ARG_TYPE_CHILD_WITH_PYARG) are processed
+ * the same as other child args but also have an index into the
+ * python parameters passed to the invoker
+ */
typedef enum {
- /* Not an AUX type */
- PYGI_AUX_TYPE_NONE = 0,
- /* AUX type handled by parent */
- PYGI_AUX_TYPE_IGNORE = 1,
- /* AUX type has an associated pyarg which is modified by parent */
- PYGI_AUX_TYPE_HAS_PYARG = 2
-} PyGIAuxType;
+ PYGI_META_ARG_TYPE_PARENT,
+ PYGI_META_ARG_TYPE_CHILD,
+ PYGI_META_ARG_TYPE_CHILD_WITH_PYARG
+} PyGIMetaArgType;
+
struct _PyGIArgCache
{
- PyGIAuxType aux_type;
+ PyGIMetaArgType meta_type;
gboolean is_pointer;
gboolean is_caller_allocates;
gboolean allow_none;
@@ -134,7 +145,7 @@ struct _PyGICallableCache
/* counts */
gssize n_in_args;
gssize n_out_args;
- gssize n_out_aux_args;
+ gssize n_out_child_args;
gssize n_args;
gssize n_py_args;