application_id is a valid application identifier.
A valid ID is required for calls to
g_application_new() and g_application_set_application_id().
Application identifiers follow the same format as D-Bus well-known bus names. For convenience, the restrictions on application identifiers are reproduced here:
Application identifiers are composed of 1 or more elements separated by a period (
.) character. All elements must contain at least one character.
Each element must only contain the ASCII characters
-discouraged in new application identifiers. Each element must not begin with a digit.
Application identifiers must contain at least one
.(period) character (and thus at least two elements).
Application identifiers must not begin with a
Application identifiers must not exceed 255 characters.
Note that the hyphen (
-) character is allowed in application identifiers,
but is problematic or not allowed in various specifications and APIs that
refer to D-Bus, such as
Flatpak application IDs,
DBusActivatable interface in the Desktop Entry Specification,
and the convention that an application’s “main” interface and object path
resemble its application identifier and bus name. To avoid situations that
require special-case handling, it is recommended that new application
identifiers consistently replace hyphens with underscores.
Like D-Bus interface names, application identifiers should start with the reversed DNS domain name of the author of the interface (in lower-case), and it is conventional for the rest of the application identifier to consist of words run together, with initial capital letters.
As with D-Bus interface names, if the author’s DNS domain name contains
hyphen/minus characters they should be replaced by underscores, and if it
contains leading digits they should be escaped by prepending an underscore.
For example, if the owner of 7-zip.org used an application identifier for an
archiving application, it might be named
A potential application identifier.
The data is owned by the caller of the function. The value is a NUL terminated UTF-8 string.