initial functional file indexer, added Qt / C++ port of Cartographer

This commit is contained in:
Joshua Strobl 2024-10-02 17:51:51 +03:00
parent fae3d30dbd
commit c52386abb4
19 changed files with 721 additions and 149 deletions

View file

@ -0,0 +1,30 @@
#pragma once
#include <QHash>
#include <QString>
#include <QUuid>
#include <optional>
#include "structs.hpp"
class Cartographer {
public:
Cartographer();
static Cartographer& instance();
static Cartographer* create() { return &instance(); }
void addAlbum(KotoAlbum* album);
void addArtist(KotoArtist* artist);
void addTrack(KotoTrack* track);
std::optional<KotoAlbum*> getAlbum(QUuid uuid);
//.std::optional<KotoAlbum*> getAlbum(QString name);
std::optional<KotoArtist*> getArtist(QUuid uuid);
std::optional<KotoArtist*> getArtist(QString name);
std::optional<KotoTrack*> getTrack(QUuid uuid);
private:
QHash<QUuid, KotoAlbum*> i_albums;
QHash<QUuid, KotoArtist*> i_artists;
QHash<QString, KotoArtist*> i_artists_by_name;
QHash<QUuid, KotoTrack*> i_tracks;
};