TrackerStorage

TrackerStorage — Removable storage and mount point convenience API

Synopsis

#include <libtracker-miner/tracker-miner.h>

                    TrackerStorage;
                    TrackerStorageClass;
enum                TrackerStorageType;
#define             TRACKER_STORAGE_TYPE_IS_REMOVABLE   (type)
#define             TRACKER_STORAGE_TYPE_IS_OPTICAL     (type)
TrackerStorage *    tracker_storage_new                 (void);
GSList *            tracker_storage_get_device_roots    (TrackerStorage *storage,
                                                         TrackerStorageType type,
                                                         gboolean exact_match);
GSList *            tracker_storage_get_device_uuids    (TrackerStorage *storage,
                                                         TrackerStorageType type,
                                                         gboolean exact_match);
const gchar *       tracker_storage_get_mount_point_for_uuid
                                                        (TrackerStorage *storage,
                                                         const gchar *uuid);
TrackerStorageType  tracker_storage_get_type_for_uuid   (TrackerStorage *storage,
                                                         const gchar *uuid);
const gchar *       tracker_storage_get_uuid_for_file   (TrackerStorage *storage,
                                                         GFile *file);

Description

This API is a convenience to to be able to keep track of volumes which are mounted and also the type of removable media available. The API is built upon the top of GIO's GMount, GDrive and GVolume API.

Details

TrackerStorage

typedef struct {
	GObject parent;
} TrackerStorage;


TrackerStorageClass

typedef struct {
	GObjectClass parent_class;
} TrackerStorageClass;


enum TrackerStorageType

typedef enum {
	TRACKER_STORAGE_REMOVABLE = 1 << 0,
	TRACKER_STORAGE_OPTICAL   = 1 << 1
} TrackerStorageType;

Flags specifying properties of the type of storage.

TRACKER_STORAGE_REMOVABLE

Storage is a removable media

TRACKER_STORAGE_OPTICAL

Storage is an optical disc

TRACKER_STORAGE_TYPE_IS_REMOVABLE()

#define TRACKER_STORAGE_TYPE_IS_REMOVABLE(type) ((type & TRACKER_STORAGE_REMOVABLE) ? TRUE : FALSE)

Check if the given storage type is marked as being removable media.

type :

Mask of TrackerStorageType flags

Returns :

TRUE if the storage is marked as removable media, FALSE otherwise

TRACKER_STORAGE_TYPE_IS_OPTICAL()

#define TRACKER_STORAGE_TYPE_IS_OPTICAL(type) ((type & TRACKER_STORAGE_OPTICAL) ? TRUE : FALSE)

Check if the given storage type is marked as being optical disc

type :

Mask of TrackerStorageType flags

Returns :

TRUE if the storage is marked as optical disc, FALSE otherwise

tracker_storage_new ()

TrackerStorage *    tracker_storage_new                 (void);

Creates a new instance of TrackerStorage.

Returns :

The newly created TrackerStorage.

tracker_storage_get_device_roots ()

GSList *            tracker_storage_get_device_roots    (TrackerStorage *storage,
                                                         TrackerStorageType type,
                                                         gboolean exact_match);

storage :

A TrackerStorage

type :

A TrackerStorageType

exact_match :

if all devices should exactly match the types

Returns :

a GSList of strings containing the root directories for devices with type based on exact_match. Each element must be freed using g_free() and the list itself through g_slist_free().

tracker_storage_get_device_uuids ()

GSList *            tracker_storage_get_device_uuids    (TrackerStorage *storage,
                                                         TrackerStorageType type,
                                                         gboolean exact_match);

storage :

A TrackerStorage

type :

A TrackerStorageType

exact_match :

if all devices should exactly match the types

Returns :

a GSList of strings containing the UUID for devices with type based on exact_match. Each element must be freed using g_free() and the list itself through g_slist_free().

tracker_storage_get_mount_point_for_uuid ()

const gchar *       tracker_storage_get_mount_point_for_uuid
                                                        (TrackerStorage *storage,
                                                         const gchar *uuid);

storage :

A TrackerStorage

uuid :

A string pointer to the UUID for the GVolume.

Returns :

The mount point for uuid, this should not be freed.

tracker_storage_get_type_for_uuid ()

TrackerStorageType  tracker_storage_get_type_for_uuid   (TrackerStorage *storage,
                                                         const gchar *uuid);

storage :

A TrackerStorage

uuid :

A string pointer to the UUID for the GVolume.

Returns :

The type flags for uuid.

tracker_storage_get_uuid_for_file ()

const gchar *       tracker_storage_get_uuid_for_file   (TrackerStorage *storage,
                                                         GFile *file);

Returns the UUID of the removable device for file

storage :

A TrackerStorage

file :

a file

Returns :

Returns the UUID of the removable device for file, this should not be freed.