#include "record.h"
#include "musiclibrary.h"
#include "artistprivate.h"
#include "mldebug.h"

Artist::Artist(MusicLibrary *parent) : MusicObject(parent)
{
    LogAlloc();
    pPtr = new ArtistPrivate(this, parent->privatePtr());
}

Artist::~Artist()
{
    delete pPtr;
    LogDelete();
}

MusicLibrary *Artist::library()
{
    return static_cast<MusicLibrary *>(parent());
}

void Artist::setHomePage(const QUrl &hp)
{
    static_cast<ArtistPrivate *>(pPtr)->setHomePage(hp);
}

QUrl Artist::homePage() const
{
    return static_cast<ArtistPrivate *>(pPtr)->getHomePage();
}

QList<Record *> Artist::records() const
{
    QList<Record *> records;
    static_cast<ArtistPrivate *>(pPtr)->listRecords(records);
    return records;
}
