diff options
| author | John (J5) Palmieri <johnp@redhat.com> | 2011-01-11 17:20:43 -0500 |
|---|---|---|
| committer | John (J5) Palmieri <johnp@redhat.com> | 2011-01-11 17:20:43 -0500 |
| commit | 3b0eff80d2ee35e0417476f0a170b9e178e3d1ee (patch) | |
| tree | 42b4e97c06961ff81871e65b7d97174157d94e35 /gi/pygi-invoke-state-struct.h | |
| parent | c5c149be171895d292852df364541f14f0ec423a (diff) | |
| download | pygobject-3b0eff80d2ee35e0417476f0a170b9e178e3d1ee.tar.gz | |
[gi] implement out arg handling
Diffstat (limited to 'gi/pygi-invoke-state-struct.h')
| -rw-r--r-- | gi/pygi-invoke-state-struct.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/gi/pygi-invoke-state-struct.h b/gi/pygi-invoke-state-struct.h index 1c9bf3e6..22ac8ea9 100644 --- a/gi/pygi-invoke-state-struct.h +++ b/gi/pygi-invoke-state-struct.h @@ -14,7 +14,20 @@ typedef struct _PyGIInvokeState GIArgument **args; GIArgument *in_args; + + /* Out args and out values + * In order to pass a parameter and get something back out in C + * we need to pass a pointer to the value, e.g. + * int *out_integer; + * + * so while out_args == out_integer, out_value == *out_integer + * or in other words out_args = &out_values + * + * We do all of our processing on out_values but we pass out_args to + * the actual function. + */ GIArgument *out_args; + GIArgument *out_values; GIArgument return_arg; |
