id_is_valid


Description:

public static bool id_is_valid (string application_id)

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 application_id is valid