summaryrefslogtreecommitdiff
path: root/src/grl-caps.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/grl-caps.h')
-rw-r--r--src/grl-caps.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/grl-caps.h b/src/grl-caps.h
index df2e939..5825a0b 100644
--- a/src/grl-caps.h
+++ b/src/grl-caps.h
@@ -84,6 +84,28 @@ typedef enum {
GRL_TYPE_FILTER_ALL = (GRL_TYPE_FILTER_AUDIO | GRL_TYPE_FILTER_VIDEO | GRL_TYPE_FILTER_IMAGE)
} GrlTypeFilter;
+/**
+ * GrlRemoveFlags:
+ * @GRL_REMOVE_FLAG_UNKNOWN: the #GrlSource did not set any GrlRemoveFlags
+ * @GRL_REMOVE_FLAG_NONE: does not support removals
+ * @GRL_REMOVE_FLAG_DELETE: will unrecoverably delete media
+ * @GRL_REMOVE_FLAG_TRASH: will move media to the trash
+ * @GRL_REMOVE_FLAG_ARCHIVE: will move the media to an archive (which might
+ * or might not be available through grilo)
+ * @GRL_REMOVE_FLAG_REFERENCE: will remove the reference to the media, not the media.
+ *
+ * Bitwise flags which reflect the kind of removal that a
+ * #GrlSource supports.
+ */
+typedef enum{
+ GRL_REMOVE_FLAG_UNKNOWN = -1,
+ GRL_REMOVE_FLAG_NONE = 0,
+ GRL_REMOVE_FLAG_DELETE = 1,
+ GRL_REMOVE_FLAG_TRASH = 1 << 1,
+ GRL_REMOVE_FLAG_ARCHIVE = 1 << 2,
+ GRL_REMOVE_FLAG_REFERENCE = 1 << 3
+} GrlRemoveFlags;
+
GType grl_caps_get_type (void);
@@ -109,6 +131,10 @@ void grl_caps_set_key_range_filter (GrlCaps *caps, GList *keys);
gboolean grl_caps_is_key_range_filter (GrlCaps *caps, GrlKeyID key);
+GrlRemoveFlags grl_caps_get_remove_flags (GrlCaps *caps);
+
+void grl_caps_set_remove_flags (GrlCaps *caps, GrlRemoveFlags remove_flags);
+
G_END_DECLS
#endif /* _GRL_CAPS_H_ */