annotate data/fileio/PlaylistFileReader.h @ 316:3a6725f285d6

* Make RemoteFile far more pervasive, and use it for local files as well so that we can handle both transparently. Make it shallow copy with reference counting, so it can be used by value without having to worry about the cache file lifetime. Use RemoteFile for MainWindow file-open functions, etc
author Chris Cannam
date Thu, 18 Oct 2007 15:31:20 +0000
parents c022976d18e8
children d030801113b6
rev   line source
Chris@297 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
Chris@297 2
Chris@297 3 /*
Chris@297 4 Sonic Visualiser
Chris@297 5 An audio file viewer and annotation editor.
Chris@297 6 Centre for Digital Music, Queen Mary, University of London.
Chris@297 7 This file copyright 2007 QMUL.
Chris@297 8
Chris@297 9 This program is free software; you can redistribute it and/or
Chris@297 10 modify it under the terms of the GNU General Public License as
Chris@297 11 published by the Free Software Foundation; either version 2 of the
Chris@297 12 License, or (at your option) any later version. See the file
Chris@297 13 COPYING included with this distribution for more information.
Chris@297 14 */
Chris@297 15
Chris@297 16 #ifndef _PLAYLIST_FILE_READER_H_
Chris@297 17 #define _PLAYLIST_FILE_READER_H_
Chris@297 18
Chris@297 19 #include <QString>
Chris@297 20
Chris@297 21 #include <vector>
Chris@297 22 #include <set>
Chris@297 23
Chris@297 24 class QFile;
Chris@297 25
Chris@297 26 class PlaylistFileReader
Chris@297 27 {
Chris@297 28 public:
Chris@297 29 typedef std::vector<QString> Playlist;
Chris@297 30
Chris@297 31 PlaylistFileReader(QString path);
Chris@297 32 virtual ~PlaylistFileReader();
Chris@297 33
Chris@297 34 virtual bool isOK() const;
Chris@297 35 virtual QString getError() const;
Chris@297 36 virtual Playlist load() const;
Chris@297 37
Chris@297 38 static void getSupportedExtensions(std::set<QString> &extensions);
Chris@297 39
Chris@297 40 protected:
Chris@297 41 QFile *m_file;
Chris@297 42 QString m_error;
Chris@297 43 };
Chris@297 44
Chris@297 45 #endif