Back to Seed Clases

Gio


Classes

Interfaces

Structs

Unions

Enums

GObject.Object
parent-child marker Gio.Application

Class Gio.Application

Import line: Gio = imports.gi.Gio;
GIR File: Gio-2.0.gir
C documentation: GApplication
Class : Application
Implements: Gio.ActionGroup
Extends: GObject.Object
A GApplication is the foundation of an application, unique for a
given application identifier. The GApplication class wraps some
low-level platform-specific services and is intended to act as the
foundation for higher-level application classes such as
GtkApplication or MxApplication. In general, you should not use
this class outside of a higher level framework.
One of the core features that GApplication provides is process
uniqueness, in the context of a "session". The session concept is
platform-dependent, but corresponds roughly to a graphical desktop
login. When your application is launched again, its arguments
are passed through platform communication to the already running
program. The already running instance of the program is called the
primary instance.
Before using GApplication, you must choose an "application identifier".
The expected form of an application identifier is very close to that of
of a DBus bus name.
For details on valid application identifiers, see
g_application_id_is_valid().
The application identifier is claimed by the application as a
well-known bus name on the user's session bus. This means that the
uniqueness of your application is scoped to the current session. It
also means that your application may provide additional services
(through registration of other object paths) at that bus name.
The registration of these object paths should be done with the shared
GDBus session bus. Note that due to the internal architecture of
GDBus, method calls can be dispatched at any time (even if a main
loop is not running). For this reason, you must ensure that any
object paths that you wish to register are registered before
GApplication attempts to acquire the bus name of your application
(which happens in g_application_register()). Unfortunately, this
means that you cannot use g_application_get_is_remote() to decide if
you want to register object paths.
GApplication provides convenient life cycle management by maintaining
a use count for the primary application instance.
The use count can be changed using g_application_hold() and
g_application_release(). If it drops to zero, the application exits.
GApplication also implements the GActionGroup interface and lets you
easily export actions by adding them with g_application_set_action_group().
When invoking an action by calling g_action_group_activate_action() on
the application, it is always invoked in the primary instance.
There is a number of different entry points into a GApplication:

via 'Activate' (i.e. just starting the application)
via 'Open' (i.e. opening some files)
by handling a command-line
via activating an action

The GApplication::startup signal lets you handle the application
initialization for all of these in a single place.
Regardless of which of these entry points is used to start the application,
GApplication passes some platform
data
from the launching instance to the primary instance,
in the form of a GVariant dictionary mapping strings to variants.
To use platform data, override the before_emit or after_emit virtual
functions in your GApplication subclass. When dealing with
GApplicationCommandline objects, the platform data is directly
available via g_application_command_line_get_cwd(),
g_application_command_line_get_environ() and
g_application_command_line_get_platform_data().
As the name indicates, the platform data may vary depending on the
operating system, but it always includes the current directory (key
"cwd"), and optionally the environment (ie the set of environment
variables and their values) of the calling process (key "environ").
The environment is only added to the platform data if the
G_APPLICATION_SEND_ENVIONMENT flag is set. GApplication subclasses
can add their own platform data by overriding the add_platform_data
virtual function. For instance, GtkApplication adds startup notification
data in this way.
To parse commandline arguments you may handle the
GApplication::command-line signal or override the local_command_line()
vfunc, to parse them in either the primary instance or the local instance,
respectively.
Opening files with a GApplication


FIXME: MISSING XINCLUDE CONTENT



A GApplication with actions


FIXME: MISSING XINCLUDE CONTENT


Properties
Properties Defined By
Methods / Constructors
Method / Constructor Defined By
Events - usage syntax: this.signals.EVENTNAME.connect( Function )
Event Defined By
Used by These Methods / Signals / Properties- Nowhere other than here
Documentation generated by Introspection Doc Generator Loosely Based on JsDoc Toolkit on Sat Apr 16 2011 17:11:07 GMT+0800 (HKT)