id_is_valid
Description:
Checks if application_id
is a valid application identifier.
A valid ID is required for calls to Application and 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 `A-Z[0-9]_-`, with `-` 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 `.` (period) character.
- 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, the `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 `org._7_zip.Archiver`.
Parameters:
application_id |
a potential application identifier |
Returns:
true if |