## GcmDdcClient

GcmDdcClient — For managing all the GcmDdcDevice's.

## Synopsis

    #define             GCM_DDC_CLIENT_ERROR
    #define             GCM_DDC_CLIENT_TYPE_ERROR
    enum                GcmDdcClientError;
    struct              GcmDdcClient;
    struct              GcmDdcClientClass;
    GQuark              gcm_ddc_client_error_quark          (void);
    GcmDdcClient *      gcm_ddc_client_new                  (void);
    gboolean            gcm_ddc_client_close                (GcmDdcClient *client,
                                                             GError **error);
    GPtrArray *         gcm_ddc_client_get_devices          (GcmDdcClient *client,
                                                             GError **error);
    GcmDdcDevice *      gcm_ddc_client_get_device_from_edid (GcmDdcClient *client,
                                                             const gchar *edid_md5,
                                                             GError **error);
    void                gcm_ddc_client_set_verbose          (GcmDdcClient *client,
                                                             GcmVerbose verbose);
                        GcmDdcClientPrivate;

## Object Hierarchy

      GObject
       +----GcmDdcClient

## Properties

      "has-coldplug"             gboolean              : Read

## Description

A GObject to use for managing a list of GcmDdcDevice's. A GcmDdcClient will contain many GcmDdcDevice's.

## Details

### GCM_DDC_CLIENT_ERROR

    #define GCM_DDC_CLIENT_ERROR		(gcm_ddc_client_error_quark ())

### GCM_DDC_CLIENT_TYPE_ERROR

    #define GCM_DDC_CLIENT_TYPE_ERROR (gcm_ddc_client_error_get_type ())

### enum GcmDdcClientError

    typedef enum
    {
    	GCM_DDC_CLIENT_ERROR_FAILED
    } GcmDdcClientError;

Errors that can be thrown

`GCM_DDC_CLIENT_ERROR_FAILED` | the transaction failed for an unknown reason

### struct GcmDdcClient

    struct GcmDdcClient;

### struct GcmDdcClientClass

    struct GcmDdcClientClass {
    	GObjectClass parent_class;

    	/* signals */
    	void		(* changed)			(GcmDdcClient *client);
    	/* padding for future expansion */
    	void (*_gcm_reserved1) (void);
    	void (*_gcm_reserved2) (void);
    	void (*_gcm_reserved3) (void);
    	void (*_gcm_reserved4) (void);
    	void (*_gcm_reserved5) (void);
    };

### gcm_ddc_client_error_quark ()

    GQuark              gcm_ddc_client_error_quark          (void);

Returns : | Our personal error quark.

Since 2.91.1

### gcm_ddc_client_new ()

    GcmDdcClient *      gcm_ddc_client_new                  (void);

Returns : | A new GcmDdcClient instance

Since 2.91.1

### gcm_ddc_client_close ()

    gboolean            gcm_ddc_client_close                (GcmDdcClient *client,
                                                             GError **error);

Closes the client, releasing all devices.

`client` : | a valid GcmDdcClient instance
`error` : | a valid GError, or `NULL`
Returns : | `TRUE` for success.

Since 2.91.1

### gcm_ddc_client_get_devices ()

    GPtrArray *         gcm_ddc_client_get_devices          (GcmDdcClient *client,
                                                             GError **error);

Get all the GcmDdcDevice's from the client. If the client has not been loaded it will be done automatically.

`client` : | a valid GcmDdcClient instance
`error` : | a valid GError, or `NULL`
Returns : | a GPtrArray of GcmDdcDevice's, free with `g_ptr_array_unref()`

Since 2.91.1

### gcm_ddc_client_get_device_from_edid ()

    GcmDdcDevice *      gcm_ddc_client_get_device_from_edid (GcmDdcClient *client,
                                                             const gchar *edid_md5,
                                                             GError **error);

Get a DDC device from it's EDID value. If the client has not been loaded it will be done automatically.

`client` : | a valid GcmDdcClient instance
`edid_md5` : | a EDID checksum
`error` : | a valid GError, or `NULL`
Returns : | A refcounted GcmDdcDevice, or `NULL`.

Since 2.91.1

### gcm_ddc_client_set_verbose ()

    void                gcm_ddc_client_set_verbose          (GcmDdcClient *client,
                                                             GcmVerbose verbose);

Sets the logging level for this instance.

`client` : | a valid GcmDdcClient instance
`verbose` : | the logging setting, e.g. `GCM_VERBOSE_PROTOCOL`.

Since 2.91.1

### GcmDdcClientPrivate

    typedef struct _GcmDdcClientPrivate GcmDdcClientPrivate;

Private GcmDdcClient data

## Property Details

### The `"has-coldplug"` property

      "has-coldplug"             gboolean              : Read

if there are no transactions in progress on this client.

Default value: TRUE

Since 2.91.1