Commit b46d22e4 authored by Hugo Beauzée-Luyssen's avatar Hugo Beauzée-Luyssen

IAlbum: cosmetics

parent f63b544b
......@@ -20,42 +20,39 @@
* Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
*****************************************************************************/
#ifndef IALBUM_H
#define IALBUM_H
#pragma once
#include "IMediaLibrary.h"
class IAlbum
{
public:
virtual ~IAlbum() {}
virtual unsigned int id() const = 0;
virtual const std::string& title() const = 0;
/**
* @brief releaseYear returns the release year, or 0 if unknown.
* The release date of an album is considered unknown if multiple tracks
* of the same album have different release dates
*/
virtual unsigned int releaseYear() const = 0;
virtual const std::string& shortSummary() const = 0;
virtual const std::string& artworkMrl() const = 0;
/**
* @brief tracks fetches album tracks from the database
*/
virtual std::vector<std::shared_ptr<IMedia>> tracks() const = 0;
/**
* @brief albumArtist Returns the album main artist (generally tagged as album-artist)
*/
virtual ArtistPtr albumArtist() const = 0;
/**
* @brief artists Returns a vector of all additional artists appearing on the album.
*/
virtual std::vector<ArtistPtr> artists() const = 0;
/**
* @brief nbTracks Returns the amount of track in this album.
* The value is cached, and doesn't require fetching anything.
*/
virtual uint32_t nbTracks() const = 0;
public:
virtual ~IAlbum() = default;
virtual unsigned int id() const = 0;
virtual const std::string& title() const = 0;
/**
* @brief releaseYear returns the release year, or 0 if unknown.
* The release date of an album is considered unknown if multiple tracks
* of the same album have different release dates
*/
virtual unsigned int releaseYear() const = 0;
virtual const std::string& shortSummary() const = 0;
virtual const std::string& artworkMrl() const = 0;
/**
* @brief tracks fetches album tracks from the database
*/
virtual std::vector<std::shared_ptr<IMedia>> tracks() const = 0;
/**
* @brief albumArtist Returns the album main artist (generally tagged as album-artist)
*/
virtual ArtistPtr albumArtist() const = 0;
/**
* @brief artists Returns a vector of all additional artists appearing on the album.
*/
virtual std::vector<ArtistPtr> artists() const = 0;
/**
* @brief nbTracks Returns the amount of track in this album.
* The value is cached, and doesn't require fetching anything.
*/
virtual uint32_t nbTracks() const = 0;
};
#endif // IALBUM_H
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment