RetroFE/RetroFE/Source/Collection/CollectionInfoBuilder.h
Pieter Hulshoff 304154a4c4 Added favorites playlist support for menus and merged/sub collections.
Improved sorting algorithm for playlists. The order now follows the order of the complete lis
t.
Added favorites playlist display to Aeon Nox theme.
Added favorites common artwork.
Added reloadableMedia support for playlist display.
2016-09-16 09:45:22 +02:00

44 lines
1.5 KiB
C++

/* This file is part of RetroFE.
*
* RetroFE is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* RetroFE is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with RetroFE. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#include "../Database/MetadataDatabase.h"
#include <string>
#include <map>
#include <vector>
class Configuration;
class CollectionInfo;
class CollectionInfoBuilder
{
public:
CollectionInfoBuilder(Configuration &c, MetadataDatabase &mdb);
virtual ~CollectionInfoBuilder();
CollectionInfo *buildCollection(std::string collectionName);
CollectionInfo *buildCollection(std::string collectionName, std::string mergedCollectionName);
void addFavorites(CollectionInfo *info);
void injectMetadata(CollectionInfo *info);
static bool createCollectionDirectory(std::string collectionName);
private:
Configuration &conf_;
MetadataDatabase &metaDB_;
bool ImportBasicList(CollectionInfo *info, std::string file, std::map<std::string, Item *> &list);
bool ImportDirectory(CollectionInfo *info, std::string mergedCollectionName);
};