summaryrefslogtreecommitdiffstats
path: root/src/library/export/exportrequest.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/library/export/exportrequest.h')
-rw-r--r--src/library/export/exportrequest.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/library/export/exportrequest.h b/src/library/export/exportrequest.h
new file mode 100644
index 0000000000..a5fdd4e791
--- /dev/null
+++ b/src/library/export/exportrequest.h
@@ -0,0 +1,22 @@
+#pragma once
+
+#include <QSet>
+
+#include "library/trackset/crate/crateid.h"
+
+namespace mixxx {
+
+/// The ExportRequest struct is the base class for all types of request to export
+/// the Mixxx library to some external location. An export to a specific kind of
+/// external location is likely to need additional information to be specified in
+/// the request, which can be achieved by sub-classing this struct.
+struct ExportRequest {
+ /// Indicates whether to export only selected crates (if set to true), or
+ /// whether to export the whole Mixxx library (if set to false).
+ bool exportSelectedCrates;
+
+ /// Set of crates to export, if `exportSelectedCrates` is set to true.
+ QSet<CrateId> crateIdsToExport;
+};
+
+} // namespace mixxx