* 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
* 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().
* 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
{
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;
/**
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__ */