Files
2019-02-20 12:16:15 +01:00

625 lines
9.0 KiB
C++

#ifndef CMOVIE_H
#define CMOVIE_H
#include "cfanart.h"
#include <QMetaType>
#include <QDate>
#include <QSqlDatabase>
#include <QStringList>
#include <QMap>
/*!
\brief
\class cMovie cmovie.h "cmovie.h"
*/
class cMovie
{
public:
/*!
\brief
\enum State
*/
enum State
{
StateUnknown = 0,
StateInit = 1,
StateProgress = 2,
StateDone = 3,
};
cMovie();
/*!
\brief
\fn setMovieTitle
\param szTitle
*/
void setMovieTitle(const QString& szTitle);
/*!
\brief
\fn movieTitle
\return QString
*/
QString movieTitle();
/*!
\brief
\fn setMovieID
\param iID
*/
void setMovieID(const qint32 iID);
/*!
\brief
\fn movieID
\return qint32
*/
qint32 movieID();
/*!
\brief
\fn setOriginalTitle
\param szOriginalTitle
*/
void setOriginalTitle(const QString& szOriginalTitle);
/*!
\brief
\fn originalTitle
\return QString
*/
QString originalTitle();
/*!
\brief
\fn setReleaseDate
\param szDate
*/
void setReleaseDate(const QString& szDate);
/*!
\brief
\fn releaseDate
\return QDate
*/
QDate releaseDate();
/*!
\brief
\fn setAdult
\param bAdult
*/
void setAdult(const bool bAdult);
/*!
\brief
\fn adult
\return bool
*/
bool adult();
/*!
\brief
\fn setBackdropPath
\param szBackdropPath
*/
void setBackdropPath(const QString& szBackdropPath);
/*!
\brief
\fn backdropPath
\return QString
*/
QString backdropPath();
/*!
\brief
\fn setBelongsToCollection
\param szBelongsToCollection
*/
void setBelongsToCollection(const QString& szBelongsToCollection);
/*!
\brief
\fn belongsToCollection
\return QString
*/
QString belongsToCollection();
/*!
\brief
\fn setBudget
\param dBudget
*/
void setBudget(const qreal dBudget);
/*!
\brief
\fn budget
\return qreal
*/
qreal budget();
/*!
\brief
\fn setGenres
\param szGenres
*/
void setGenres(const QString& szGenres);
/*!
\brief
\fn setGenres
\param szGenres
*/
void setGenres(const QStringList& szGenres);
/*!
\brief
\fn genres
\return QStringList
*/
QStringList genres();
/*!
\brief
\fn setHomepage
\param szHomepage
*/
void setHomepage(const QString& szHomepage);
/*!
\brief
\fn homepage
\return QString
*/
QString homepage();
/*!
\brief
\fn setIMDBID
\param szIMDBID
*/
void setIMDBID(const QString& szIMDBID);
/*!
\brief
\fn imdbID
\return QString
*/
QString imdbID();
/*!
\brief
\fn setOriginalLanguage
\param szOriginalLanguage
*/
void setOriginalLanguage(const QString& szOriginalLanguage);
/*!
\brief
\fn originalLanguage
\return QString
*/
QString originalLanguage();
/*!
\brief
\fn setOverview
\param szOverview
*/
void setOverview(const QString& szOverview);
/*!
\brief
\fn overview
\return QString
*/
QString overview();
/*!
\brief
\fn setPopularity
\param dPopularity
*/
void setPopularity(const qreal dPopularity);
/*!
\brief
\fn popularity
\return qreal
*/
qreal popularity();
/*!
\brief
\fn setPosterPath
\param szPosterPath
*/
void setPosterPath(const QString& szPosterPath);
/*!
\brief
\fn posterPath
\return QString
*/
QString posterPath();
/*!
\brief
\fn setProductionCompanies
\param szProductionCompanies
*/
void setProductionCompanies(const QString& szProductionCompanies);
/*!
\brief
\fn setProductionCompanies
\param szProductionCompanies
*/
void setProductionCompanies(const QStringList& szProductionCompanies);
/*!
\brief
\fn productionCompanies
\return QStringList
*/
QStringList productionCompanies();
/*!
\brief
\fn setProductionCountries
\param szProductionCountries
*/
void setProductionCountries(const QString& szProductionCountries);
/*!
\brief
\fn setProductionCountries
\param szProductionCountries
*/
void setProductionCountries(const QStringList& szProductionCountries);
/*!
\brief
\fn productionCountries
\return QStringList
*/
QStringList productionCountries();
/*!
\brief
\fn setRevenue
\param dRevenue
*/
void setRevenue(const qreal dRevenue);
/*!
\brief
\fn revenue
\return qreal
*/
qreal revenue();
/*!
\brief
\fn setRuntime
\param iRuntime
*/
void setRuntime(const qint32 iRuntime);
/*!
\brief
\fn runtime
\return qint32
*/
qint32 runtime();
/*!
\brief
\fn setSpokenLanguages
\param szSpokenLanguages
*/
void setSpokenLanguages(const QString& szSpokenLanguages);
/*!
\brief
\fn setSpokenLanguages
\param szSpokenLanguages
*/
void setSpokenLanguages(const QStringList& szSpokenLanguages);
/*!
\brief
\fn spokenLanguages
\return QStringList
*/
QStringList spokenLanguages();
/*!
\brief
\fn setStatus
\param szStatus
*/
void setStatus(const QString& szStatus);
/*!
\brief
\fn status
\return QString
*/
QString status();
/*!
\brief
\fn setTagline
\param szTagline
*/
void setTagline(const QString& szTagline);
/*!
\brief
\fn tagline
\return QString
*/
QString tagline();
/*!
\brief
\fn setVideo
\param bVideo
*/
void setVideo(const bool bVideo);
/*!
\brief
\fn video
\return bool
*/
bool video();
/*!
\brief
\fn setVoteAverage
\param dVoteAverage
*/
void setVoteAverage(const qreal dVoteAverage);
/*!
\brief
\fn voteAverage
\return qreal
*/
qreal voteAverage();
/*!
\brief
\fn setVoteCount
\param iVoteCount
*/
void setVoteCount(const qint32 iVoteCount);
/*!
\brief
\fn voteCount
\return qint32
*/
qint32 voteCount();
/*!
\brief
\fn setCast
\param szCast
*/
void setCast(const QStringList& szCast);
/*!
\brief
\fn cast
\return QStringList
*/
QStringList cast();
/*!
\brief
\fn setCrew
\param szCrew
*/
void setCrew(const QStringList& szCrew);
/*!
\brief
\fn crew
\return QStringList
*/
QStringList crew();
/*!
\brief
\fn setState
\param state
*/
void setState(const State state);
/*!
\brief
\fn state
\return State
*/
State state();
/*!
\brief
\fn setLocalPath
\param szLocalPath
*/
void setLocalPath(const QString& szLocalPath);
/*!
\brief
\fn localPath
\return QString
*/
QString localPath();
/*!
\brief
\fn setResolution
\param szResolution
*/
void setResolution(const QString& szResolution);
/*!
\brief
\fn resolution
\return QString
*/
QString resolution();
/*!
\brief
\fn save
\param db
\return bool
*/
bool save(QSqlDatabase& db);
/*!
\brief
\fn del
\param db
\return bool
*/
bool del(QSqlDatabase& db);
/*!
\brief
\fn loadFanart
*/
void loadFanart();
/*!
\brief
\fn setFanartList
\param fanartList
*/
void setFanartList(const cFanartList& fanartList);
/*!
\brief
\fn fanartList
\return cFanartList
*/
cFanartList fanartList();
private:
QString m_szMovieTitle; /*!< TODO: describe */
qint32 m_iID; /*!< TODO: describe */
QString m_szOriginalTitle; /*!< TODO: describe */
QDate m_releaseDate; /*!< TODO: describe */
bool m_bAdult; /*!< TODO: describe */
QString m_szBackdropPath; /*!< TODO: describe */
QString m_szBelongsToCollection; /*!< TODO: describe */
qreal m_dBudget; /*!< TODO: describe */
QStringList m_szGenres; /*!< TODO: describe */
QString m_szHomepage; /*!< TODO: describe */
QString m_szIMDBID; /*!< TODO: describe */
QString m_szOriginalLanguage; /*!< TODO: describe */
QString m_szOverview; /*!< TODO: describe */
qreal m_dPopularity; /*!< TODO: describe */
QString m_szPosterPath; /*!< TODO: describe */
QStringList m_szProductionCompanies; /*!< TODO: describe */
QStringList m_szProductionCountries; /*!< TODO: describe */
qreal m_dRevenue; /*!< TODO: describe */
qint32 m_iRuntime; /*!< TODO: describe */
QStringList m_szSpokenLanguages; /*!< TODO: describe */
QString m_szStatus; /*!< TODO: describe */
QString m_szTagline; /*!< TODO: describe */
bool m_bVideo; /*!< TODO: describe */
qreal m_dVoteAverage; /*!< TODO: describe */
qint32 m_iVoteCount; /*!< TODO: describe */
QStringList m_szCast; /*!< TODO: describe */
QStringList m_szCrew; /*!< TODO: describe */
State m_iState; /*!< TODO: describe */
QString m_szLocalPath; /*!< TODO: describe */
QString m_szResolution; /*!< TODO: describe */
cFanartList m_fanartList; /*!< TODO: describe */
};
Q_DECLARE_METATYPE(cMovie*)
Q_DECLARE_METATYPE(cMovie::State)
/*!
\brief
\class cMovieList cmovie.h "cmovie.h"
*/
class cMovieList : public QList<cMovie*>
{
public:
/*!
\brief
\fn add
\param iID
\return cMovie
*/
cMovie* add(const qint32& iID);
/*!
\brief
\fn add
\param lpMovie
\return cMovie
*/
cMovie* add(cMovie* lpMovie);
/*!
\brief
\fn find
\param iID
\return cMovie
*/
cMovie* find(const qint32& iID);
};
#endif // CMOVIE_H