summaryrefslogtreecommitdiff
path: root/girepository/gitypes.h
diff options
context:
space:
mode:
authorJohan Dahlin <johan@gnome.org>2010-06-05 12:40:15 -0300
committerJohan Dahlin <johan@gnome.org>2010-06-05 12:40:34 -0300
commitdce2f6c4f9ae1bc3447c717343a4483ca7ec19b6 (patch)
treebb2756f1798bacbf069e10ceb35992d9b07de29a /girepository/gitypes.h
parent3ae1f419c4ab8902985c07a273b281b37d287b5e (diff)
downloadgobject-introspection-dce2f6c4f9ae1bc3447c717343a4483ca7ec19b6.tar.gz
[girepository] Move GIArgInfo out of ginfo.ch
Diffstat (limited to 'girepository/gitypes.h')
-rw-r--r--girepository/gitypes.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/girepository/gitypes.h b/girepository/gitypes.h
index 036ab2be..6e35489a 100644
--- a/girepository/gitypes.h
+++ b/girepository/gitypes.h
@@ -257,6 +257,41 @@ typedef enum {
GI_TRANSFER_EVERYTHING
} GITransfer;
+/**
+ * GIDirection:
+ * @GI_DIRECTION_IN: in argument.
+ * @GI_DIRECTION_OUT: out argument.
+ * @GI_DIRECTION_INOUT: in and out argument.
+ *
+ * The direction of a #GIArgInfo.
+ */
+typedef enum {
+ GI_DIRECTION_IN,
+ GI_DIRECTION_OUT,
+ GI_DIRECTION_INOUT
+} GIDirection;
+
+/**
+ * GIScopeType:
+ * @GI_SCOPE_TYPE_INVALID: The argument is not of callback type.
+ * @GI_SCOPE_TYPE_CALL: The callback and associated user_data is only
+ * used during the call to this function.
+ * @GI_SCOPE_TYPE_ASYNC: The callback and associated user_data is
+ * only used until the callback is invoked, and the callback.
+ * is invoked always exactly once.
+ * @GI_SCOPE_TYPE_NOTIFIED: The callback and and associated
+ * user_data is used until the caller is notfied via the destroy_notify.
+ *
+ * Scope type of a #GIArgInfo representing callback, determines how the
+ * callback is invoked and is used to decided when the invoke structs
+ * can be freed.
+ */
+typedef enum {
+ GI_SCOPE_TYPE_INVALID,
+ GI_SCOPE_TYPE_CALL,
+ GI_SCOPE_TYPE_ASYNC,
+ GI_SCOPE_TYPE_NOTIFIED
+} GIScopeType;
G_END_DECLS