#ifndef VIDEO_H #define VIDEO_H #include #include #include #include #include #include #include #include #include #include #include #include #include "XmlObject.h" #include "MediaContainer.h" #include "Media.h" #include "PlexServer.h" using Poco::XML::DOMParser; using Poco::XML::Document; using Poco::XML::NodeIterator; using Poco::XML::NodeFilter; using Poco::XML::Node; using Poco::XML::AutoPtr; using Poco::Exception; namespace plexclient { class MediaContainer; class Video: XmlObject { private: void Parse(Poco::XML::Node* pNode); public: Video(Poco::XML::Node* pNode, PlexServer Server, MediaContainer* parent); Video() {}; public: int m_iRatingKey; std::string m_sKey; std::string m_sStudio; MediaType m_tType; std::string m_sTitle; std::string m_sOriginalTitle; std::string m_sContentRating; std::string m_sSummary; long m_lViewoffset; Poco::Timestamp m_tLastViewedAt; int m_iYear; std::string m_sThumb; std::string m_sArt; long m_iDuration; int m_iViewCount; Poco::Timestamp m_tAddedAt; Poco::Timestamp m_tUpdatedAt; std::vector m_vGenre; std::vector m_vWriter; std::vector m_vDirector; std::vector m_vCountry; std::vector m_vRole; std::string m_sCollection; Media m_Media; PlexServer m_Server; int m_iMyPlayOffset; int m_iIndex; int m_iParentIndex; std::string GetTitle(); bool SetStream(Stream* stream); bool UpdateFromServer(); bool SetWatched(); bool SetUnwatched(); }; } #endif // VIDEO_H