Merge branch 'master' into gdbus-codegen
[platform/upstream/glib.git] / gio / gioenums.h
index 039b5dc..87eb2fa 100644 (file)
@@ -572,6 +572,27 @@ typedef enum {
 
 
 /**
+ * GIOStreamSpliceFlags:
+ * @G_IO_STREAM_SPLICE_NONE: Do not close either stream.
+ * @G_IO_STREAM_SPLICE_CLOSE_STREAM1: Close the first stream after
+ *     the splice.
+ * @G_IO_STREAM_SPLICE_CLOSE_STREAM2: Close the second stream after
+ *     the splice.
+ * @G_IO_STREAM_SPLICE_WAIT_FOR_BOTH: Wait for both splice operations to finish
+ *     before calling the callback.
+ *
+ * GIOStreamSpliceFlags determine how streams should be spliced.
+ *
+ * Since: 2.28
+ **/
+typedef enum {
+  G_IO_STREAM_SPLICE_NONE          = 0,
+  G_IO_STREAM_SPLICE_CLOSE_STREAM1 = (1 << 0),
+  G_IO_STREAM_SPLICE_CLOSE_STREAM2 = (1 << 1),
+  G_IO_STREAM_SPLICE_WAIT_FOR_BOTH = (1 << 2)
+} GIOStreamSpliceFlags;
+
+/**
  * GEmblemOrigin:
  * @G_EMBLEM_ORIGIN_UNKNOWN: Emblem of unknown origin
  * @G_EMBLEM_ORIGIN_DEVICE: Emblem adds device-specific information
@@ -737,7 +758,7 @@ typedef enum {
  * or a socket created with socketpair()).
  *
  * For abstract sockets, there are two incompatible ways of naming
- * them: the man pages suggest using the entire <literal>struct
+ * them; the man pages suggest using the entire <literal>struct
  * sockaddr_un</literal> as the name, padding the unused parts of the
  * %sun_path field with zeroes; this corresponds to
  * %G_UNIX_SOCKET_ADDRESS_ABSTRACT_PADDED. However, many programs
@@ -1158,7 +1179,7 @@ typedef enum
  * GDBusSignalFlags:
  * @G_DBUS_SIGNAL_FLAGS_NONE: No flags set.
  * @G_DBUS_SIGNAL_FLAGS_NO_MATCH_RULE: Don't actually send the AddMatch
- * DBus call for this signal subscription.  This gives you more control
+ * D-Bus call for this signal subscription.  This gives you more control
  * over which match rules you add (but you must add them manually).
  *
  * Flags used when subscribing to signals via g_dbus_connection_signal_subscribe().
@@ -1227,16 +1248,32 @@ typedef enum
  *      fails if the service is already running, and the application will
  *      stay around for a while when the use count falls to zero.
  * @G_APPLICATION_IS_LAUNCHER: Don't try to become the primary instance.
- * @G_APPLICATION_HANDLES_OPEN: This application handles opening files (in the
- *     primary instance)
+ * @G_APPLICATION_HANDLES_OPEN: This application handles opening files (in
+ *     the primary instance). Note that this flag only affects the default
+ *     implementation of local_command_line(), and has no effect if
+ *     %G_APPLICATION_HANDLES_COMMAND_LINE is given.
+ *     See g_application_run() for details.
  * @G_APPLICATION_HANDLES_COMMAND_LINE: This application handles command line
- *     arguments (in the primary instance)
+ *     arguments (in the primary instance). Note that this flag only affect
+ *     the default implementation of local_command_line().
+ *     See g_application_run() for details.
  * @G_APPLICATION_SEND_ENVIRONMENT: Send the environment of the
- *     launching process to the primary instance
+ *     launching process to the primary instance. Set this flag if your
+ *     application is expected to behave differently depending on certain
+ *     environment variables. For instance, an editor might be expected
+ *     to use the <envar>GIT_COMMITTER_NAME</envar> environment variable
+ *     when editing a git commit message. The environment is available
+ *     to the #GApplication::command-line signal handler, via
+ *     g_application_command_line_getenv().
+ * @G_APPLICATION_NON_UNIQUE: Make no attempts to do any of the typical
+ *     single-instance application negotiation.  The application neither
+ *     attempts to become the owner of the application ID nor does it
+ *     check if an existing owner already exists.  Everything occurs in
+ *     the local process.  Since: 2.30.
  *
  * Flags used to define the behaviour of a #GApplication.
  *
- * Since: 2.26
+ * Since: 2.28
  **/
 typedef enum
 {
@@ -1246,11 +1283,14 @@ typedef enum
 
   G_APPLICATION_HANDLES_OPEN =         (1 << 2),
   G_APPLICATION_HANDLES_COMMAND_LINE = (1 << 3),
-  G_APPLICATION_SEND_ENVIRONMENT    =  (1 << 4)
+  G_APPLICATION_SEND_ENVIRONMENT    =  (1 << 4),
+
+  G_APPLICATION_NON_UNIQUE =           (1 << 5),
 } GApplicationFlags;
 
 /**
  * GTlsError:
+ * @G_TLS_ERROR_UNAVAILABLE: No TLS provider is available
  * @G_TLS_ERROR_MISC: Miscellaneous TLS error
  * @G_TLS_ERROR_BAD_CERTIFICATE: A certificate could not be parsed
  * @G_TLS_ERROR_NOT_TLS: The TLS handshake failed because the
@@ -1259,7 +1299,7 @@ typedef enum
  *   peer's certificate was not acceptable.
  * @G_TLS_ERROR_CERTIFICATE_REQUIRED: The TLS handshake failed because
  *   the server requested a client-side certificate, but none was
- *   provided. See #GTlsConnection::need-certificate.
+ *   provided. See g_tls_connection_set_certificate().
  * @G_TLS_ERROR_EOF: The TLS connection was closed without proper
  *   notice, which may indicate an attack. See
  *   g_tls_connection_set_require_close_notify().
@@ -1270,6 +1310,7 @@ typedef enum
  * Since: 2.28
  */
 typedef enum {
+  G_TLS_ERROR_UNAVAILABLE,
   G_TLS_ERROR_MISC,
   G_TLS_ERROR_BAD_CERTIFICATE,
   G_TLS_ERROR_NOT_TLS,
@@ -1349,6 +1390,42 @@ typedef enum {
   G_TLS_REHANDSHAKE_UNSAFELY
 } GTlsRehandshakeMode;
 
+/**
+ * GDBusInterfaceSkeletonFlags:
+ * @G_DBUS_INTERFACE_SKELETON_FLAGS_NONE: No flags set.
+ * @G_DBUS_INTERFACE_SKELETON_FLAGS_HANDLE_METHOD_INVOCATIONS_IN_THREAD: Each method invocation is handled in
+ *   a thread dedicated to the invocation. This means that the method implementation can use blocking IO
+ *   without blocking any other part of the process. It also means that the method implementation must
+ *   use locking to access data structures used by other threads.
+ *
+ * Flags describing the behavior of a #GDBusInterfaceSkeleton instance.
+ *
+ * Since: 2.30
+ */
+typedef enum
+{
+  G_DBUS_INTERFACE_SKELETON_FLAGS_NONE = 0,
+  G_DBUS_INTERFACE_SKELETON_FLAGS_HANDLE_METHOD_INVOCATIONS_IN_THREAD = (1<<0)
+} GDBusInterfaceSkeletonFlags;
+
+/**
+ * GDBusObjectManagerClientFlags:
+ * @G_DBUS_OBJECT_MANAGER_CLIENT_FLAGS_NONE: No flags set.
+ * @G_DBUS_OBJECT_MANAGER_CLIENT_FLAGS_DO_NOT_AUTO_START: If not set and the
+ *   manager is for a well-known name, then request the bus to launch
+ *   an owner for the name if no-one owns the name. This flag can only
+ *   be used in managers for well-known names.
+ *
+ * Flags used when constructing a #GDBusObjectManagerClient.
+ *
+ * Since: 2.30
+ */
+typedef enum
+{
+  G_DBUS_OBJECT_MANAGER_CLIENT_FLAGS_NONE = 0,
+  G_DBUS_OBJECT_MANAGER_CLIENT_FLAGS_DO_NOT_AUTO_START = (1<<0),
+} GDBusObjectManagerClientFlags;
+
 G_END_DECLS
 
 #endif /* __GIO_ENUMS_H__ */