org.freedesktop.ColorManager.Device

## org.freedesktop.ColorManager.Device org.freedesktop.ColorManager.Device — Device interface |

## Methods

    SetProperty(in's'property_name,
    in's'property_value)
    AddProfile(in's'relation,
    in'o'object_path)
    RemoveProfile(in'o'object_path)
    MakeProfileDefault(in'o'profile_path)
    GetProfileForQualifiers(in'as'qualifiers,
    out'o'object_path)
    GetProfileRelation(in'o'object_path,
    out's'relation)
    ProfilingInhibit()
    ProfilingUninhibit()

## Signals

    Changed()

## Implemented Interfaces

Objects implementing org.freedesktop.ColorManager.Device also implements org.freedesktop.DBus.Introspectable, org.freedesktop.DBus.Properties

## Properties

    'Created'read't'
    'Modified'read't'
    'Model'read's'
    'Serial'read's'
    'Vendor'read's'
    'Colorspace'read's'
    'Kind'read's'
    'DeviceId'read's'
    'Profiles'read'ao'
    'Mode'read's'
    'Format'read's'
    'Scope'read's'
    'Owner'read'u'
    'Seat'read's'
    'Metadata'read'a{ss}'
    'ProfilingInhibitors'read'as'

## Description

The interface used for quering color parameters for a specific device.

## Details

### SetProperty ()

    SetProperty (in's'property_name,
    in's'property_value)

Sets a property on the object.

`property_name`: | The property name, e.g. `Model`.
`property_value`: | The property value, e.g. `RGB.Plain.`.

### AddProfile ()

    AddProfile (in's'relation,
    in'o'object_path)

Adds a profile to the device. The profile must have been previously created.

This method also stores the device to profile mapping in a persistent datadase, so that if the device and profile happen to both exist in the future, the profiles are auto-added to the device.

`relation`: | The strength of the relationship from profile to device. This can be `soft` to indicate that the mapping is not important, or that the profile is assumed from a device and not in response to user action. The default option is `hard`, and this means that the user has explicitly mapped a profile to a device, and this should take precidence over any `soft` profiles. If the user makes a `soft` profile default, then it is explicitly promoted to a `hard` relationship.
`object_path`: | The profile path to add.

### RemoveProfile ()

    RemoveProfile (in'o'object_path)

Removes a profile for a device.

This method also removes the device to profile mapping from a persistent datadase, so that if the device and profile happen to both exist in the future, the profiles are no longer auto-added to the device.

`object_path`: | The profile ID that has already been added to the device.

### MakeProfileDefault ()

    MakeProfileDefault (in'o'profile_path)

Sets the default profile for a device.

`profile_path`: | The profile ID that has already been added to the device.

### GetProfileForQualifiers ()

    GetProfileForQualifiers (in'as'qualifiers,
    out'o'object_path)

Gets a single profile object path for a qualifier. The search term can contain '*' and '?' wildcards.

`qualifiers`: | An array of qualifiers, e.g. `['RGB.*.300dpi', 'RGB.*.*', '*.*.*']`. If the qualifier `*` is specified then the default profile is returned.
`object_path`: | The profile path for the search terms.

### GetProfileRelation ()

    GetProfileRelation (in'o'object_path,
    out's'relation)

Gets a profile relation for a given profile that has been added to this device.

`object_path`: | A profile object path.
`relation`: | The profile to device relation, e.g. `hard`.

### ProfilingInhibit ()

    ProfilingInhibit ()

Adds an inhibit on all profiles for this device. This means that any calls to `GetProfileForQualifier` will always match no profiles.

This method will be used when creating profiles for devices, where the session color manager wants to be very sure that no profiles are being applied wen displaying color samples or printing color swatches.

If the calling program exits without calling `ProfilingUninhibit` then the inhibit is automatically removed.

### ProfilingUninhibit ()

    ProfilingUninhibit ()

Removes an inhibit on the device. This method should be used when profiling has finished and normal device matching behaviour should resume.

## Signal Details

### The Changed signal

    Changed ()

Some value on the interface has changed.

## Property Details

### The "Created" property

    'Created'read't'

The date the device was created.

### The "Modified" property

    'Modified'read't'

The date the device was last modified, which in this instance means having a profile added or removed, or a different profile set as default.

### The "Model" property

    'Model'read's'

The device model string.

### The "Serial" property

    'Serial'read's'

The device serial string.

### The "Vendor" property

    'Vendor'read's'

The device vendor string.

### The "Colorspace" property

    'Colorspace'read's'

The device supported colorspace string, e.g. `RGB`.

### The "Kind" property

    'Kind'read's'

The device kind, e.g. `scanner`, `display`, `printer` or `camera`

### The "DeviceId" property

    'DeviceId'read's'

The device id string.

### The "Profiles" property

    'Profiles'read'ao'

The profile paths associated with this device.

### The "Mode" property

    'Mode'read's'

The mode of the device, e.g. `virtual`, `physical` or `unknown`.

Virtual devices are not tied to a specific item of hardware and can represent abstract devices such as "Boots Photo Lab".

Physical devices correspond to a connected device that cannot be removed by client software.

If a virtual 'disk' device gets added by a client then it is promoted to a 'physical' device. This can happen if a printer is saved and then restored at next boot before the CUPS daemon is running.

### The "Format" property

    'Format'read's'

The qualifier format for the device, e.g. `ColorModel.OutputMode.OutputResolution`.

### The "Scope" property

    'Scope'read's'

The scope of the device, e.g. `normal`, `temp` or `disk`.

### The "Owner" property

    'Owner'read'u'

The user ID of the account that created the device.

### The "Seat" property

    'Seat'read's'

The seat that the device belongs to, or an empty string for none or unknown.

### The "Metadata" property

    'Metadata'read'a{ss}'

The metadata for the device, which may include optional keys like `XRANDR_name`.

### The "ProfilingInhibitors" property

    'ProfilingInhibitors'read'as'

The bus names of all the clients that have inhibited the device for profiling. e.g. `[ ":1.99", ":1.109" ]`