## GcmProfileStore

GcmProfileStore — Object to search for profiles and keep a list up to date.

## Synopsis

    struct              GcmProfileStore;
    struct              GcmProfileStoreClass;
    enum                GcmProfileSearchFlags;
    GcmProfileStore *   gcm_profile_store_new               (void);
    GcmProfile *        gcm_profile_store_get_by_filename   (GcmProfileStore *profile_store,
                                                             const gchar *filename);
    GcmProfile *        gcm_profile_store_get_by_checksum   (GcmProfileStore *profile_store,
                                                             const gchar *checksum);
    GPtrArray *         gcm_profile_store_get_array         (GcmProfileStore *profile_store);
    gboolean            gcm_profile_store_search            (GcmProfileStore *profile_store,
                                                             GcmProfileSearchFlags flags);
    gboolean            gcm_profile_store_search_path       (GcmProfileStore *profile_store,
                                                             const gchar *path);
                        GcmProfileStorePrivate;

## Object Hierarchy

      GObject
       +----GcmProfileStore

## Signals

      "added"                                          : Run Last
      "changed"                                        : Run Last
      "removed"                                        : Run Last

## Description

This object holds an array of `GcmProfiles`, and watches both the directories for changes.

## Details

### struct GcmProfileStore

    struct GcmProfileStore;

### struct GcmProfileStoreClass

    struct GcmProfileStoreClass {
    	GObjectClass parent_class;
    	void		(* added)			(GcmProfile		*profile);
    	void		(* removed)			(GcmProfile		*profile);
    	void		(* changed)			(void);
    	/* padding for future expansion */
    	void (*_gcm_reserved1) (void);
    	void (*_gcm_reserved2) (void);
    	void (*_gcm_reserved3) (void);
    	void (*_gcm_reserved4) (void);
    	void (*_gcm_reserved5) (void);
    };

### enum GcmProfileSearchFlags

    typedef enum {
    	GCM_PROFILE_STORE_SEARCH_ALL		= 0,
    	GCM_PROFILE_STORE_SEARCH_SYSTEM		= 1,
    	GCM_PROFILE_STORE_SEARCH_VOLUMES = 2,
    	GCM_PROFILE_STORE_SEARCH_USER		= 4,
    	GCM_PROFILE_STORE_SEARCH_MACHINE = 8
    } GcmProfileSearchFlags;

### gcm_profile_store_new ()

    GcmProfileStore *   gcm_profile_store_new               (void);

Returns : | a new GcmProfileStore object.

Since 2.91.1

### gcm_profile_store_get_by_filename ()

    GcmProfile *        gcm_profile_store_get_by_filename   (GcmProfileStore *profile_store,
                                                             const gchar *filename);

Gets a profile.

`profile_store` : | a valid `GcmProfileStore` instance
`filename` : | the profile filename
Returns : | a valid `GcmProfile` or `NULL`. Free with `g_object_unref()`

Since 2.91.1

### gcm_profile_store_get_by_checksum ()

    GcmProfile *        gcm_profile_store_get_by_checksum   (GcmProfileStore *profile_store,
                                                             const gchar *checksum);

Gets a profile.

`profile_store` : | a valid `GcmProfileStore` instance
`checksum` : | the profile checksum
Returns : | a valid `GcmProfile` or `NULL`. Free with `g_object_unref()`

Since 2.91.1

### gcm_profile_store_get_array ()

    GPtrArray *         gcm_profile_store_get_array         (GcmProfileStore *profile_store);

Gets the profile list.

`profile_store` : | a valid `GcmProfileStore` instance
Returns : | an array, free with `g_ptr_array_unref()`

Since 2.91.1

### gcm_profile_store_search ()

    gboolean            gcm_profile_store_search            (GcmProfileStore *profile_store,
                                                             GcmProfileSearchFlags flags);

Searches specified locations for ICC profiles.

`profile_store` : | a valid `GcmProfileStore` instance
`flags` : | the GcmProfileSearchFlags locations to search
Returns : | `TRUE` if any profile were added

Since 2.91.1

### gcm_profile_store_search_path ()

    gboolean            gcm_profile_store_search_path       (GcmProfileStore *profile_store,
                                                             const gchar *path);

Searches a specified location for ICC profiles.

`profile_store` : | a valid `GcmProfileStore` instance
`path` : | the filesystem path to search
Returns : | if any profile were added

Since 2.91.1

### GcmProfileStorePrivate

    typedef struct _GcmProfileStorePrivate GcmProfileStorePrivate;

Private GcmProfileStore data

## Signal Details

### The `"added"` signal

    void                user_function                      (GcmProfileStore *arg0,
                                                            GObject         *arg1,
                                                            gpointer         user_data)      : Run Last

`user_data` : | user data set when the signal handler was connected.

Since 2.91.1

### The `"changed"` signal

    void                user_function                      (GcmProfileStore *arg0,
                                                            gpointer         user_data)      : Run Last

`user_data` : | user data set when the signal handler was connected.

Since 2.91.1

### The `"removed"` signal

    void                user_function                      (GcmProfileStore *arg0,
                                                            GObject         *arg1,
                                                            gpointer         user_data)      : Run Last

`user_data` : | user data set when the signal handler was connected.

Since 2.91.1