summaryrefslogtreecommitdiff
path: root/src/libaudcore/scanner.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libaudcore/scanner.h')
-rw-r--r--src/libaudcore/scanner.h26
1 files changed, 15 insertions, 11 deletions
diff --git a/src/libaudcore/scanner.h b/src/libaudcore/scanner.h
index 18a6418..667afb3 100644
--- a/src/libaudcore/scanner.h
+++ b/src/libaudcore/scanner.h
@@ -1,6 +1,6 @@
/*
* scanner.h
- * Copyright 2012 John Lindgren
+ * Copyright 2012-2016 John Lindgren
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
@@ -20,7 +20,9 @@
#ifndef LIBAUDCORE_SCANNER_H
#define LIBAUDCORE_SCANNER_H
+#include "cue-cache.h"
#include "index.h"
+#include "objects.h"
#include "tuple.h"
#include "vfs.h"
@@ -37,31 +39,33 @@ struct ScanRequest
{
typedef void (* Callback) (ScanRequest * request);
- ScanRequest (const String & filename, int flags, Callback callback,
- PluginHandle * decoder = nullptr) :
- filename (filename),
- flags (flags),
- callback (callback),
- decoder (decoder),
- ip (nullptr) {}
-
const String filename;
const int flags;
const Callback callback;
PluginHandle * decoder;
+ Tuple tuple;
+
InputPlugin * ip;
VFSFile file;
- Tuple tuple;
Index<char> image_data;
String image_file;
String error;
+
+ ScanRequest (const String & filename, int flags, Callback callback,
+ PluginHandle * decoder = nullptr, Tuple && tuple = Tuple ());
+
+ void run ();
+
+private:
+ SmartPtr<CueCacheRef> cue_cache;
+
+ void read_cuesheet_entry ();
};
void scanner_init ();
void scanner_request (ScanRequest * request);
-void scanner_run (ScanRequest * request);
void scanner_cleanup ();
#endif