GApplication: add G_APPLICATION_NON_UNIQUE

Add a flag to essentially short-circuit g_application_register().  The
application makes no attempt to acquire the bus name or check for
existing instances with that name.  The application is never considered
as being 'remote' and all requests are handled locally.

Closes #646985.
This commit is contained in:
Ryan Lortie
2011-04-10 07:51:55 -04:00
parent 53389d963d
commit 9d204338f3
2 changed files with 18 additions and 8 deletions

View File

@@ -1006,14 +1006,17 @@ g_application_register (GApplication *application,
if (!application->priv->is_registered)
{
application->priv->impl =
g_application_impl_register (application, application->priv->id,
application->priv->flags,
&application->priv->remote_actions,
cancellable, error);
if (~application->priv->flags & G_APPLICATION_NON_UNIQUE)
{
application->priv->impl =
g_application_impl_register (application, application->priv->id,
application->priv->flags,
&application->priv->remote_actions,
cancellable, error);
if (application->priv->impl == NULL)
return FALSE;
if (application->priv->impl == NULL)
return FALSE;
}
application->priv->is_remote = application->priv->remote_actions != NULL;
application->priv->is_registered = TRUE;