1 /* ${CLASS_NAME}.h */ 2 /* 3 * Copyright (C) 2011-2021 Michael Lugmair 4 * 5 * This file is part of sayonara player 6 * 7 * This program is free software: you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by 9 * the Free Software Foundation, either version 3 of the License, or 10 * (at your option) any later version. 11 12 * This program is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 17 * You should have received a copy of the GNU General Public License 18 * along with this program. If not, see <http://www.gnu.org/licenses/>. 19 */ 20 #ifndef SAYONARA_PLAYER_LIBRARYINFOACCESSOR_H 21 #define SAYONARA_PLAYER_LIBRARYINFOACCESSOR_H 22 23 #include "Utils/typedefs.h" 24 25 #include <QList> 26 #include <QString> 27 28 namespace Library 29 { 30 class Info; 31 } 32 33 class LocalLibrary; 34 35 class LibraryInfoAccessor 36 { 37 public: 38 virtual QList<Library::Info> allLibraries() const = 0; 39 40 virtual Library::Info libraryInfo(LibraryId id) const = 0; 41 virtual Library::Info libraryInfoByPath(const QString& path) const = 0; 42 43 virtual int count() const = 0; 44 45 virtual LocalLibrary* libraryInstance(LibraryId id) = 0; 46 }; 47 #endif //SAYONARA_PLAYER_LIBRARYINFOACCESSOR_H 48