#ifndef XMLOBJECT_H #define XMLOBJECT_H #include #include #include #include #include #include #include namespace plexclient { enum class MediaType {UNDEF = 0, MOVIE, SHOW, SEASON, EPISODE, MUSIC, PHOTO, CLIP, PLAYLIST}; enum class PlaylistType { Undef, Video, Audio, Photo }; enum class StreamType {sUNDEF = 0, sVIDEO = 1, sAUDIO = 2, sSUBTITLE = 3}; enum class ExtraType { Unkown = 0, Trailer = 1, BehindTheScenes = 5 }; class XmlObject { protected: static std::string GetNodeValue(Poco::XML::Node* pNode); static int GetNodeValueAsInt(Poco::XML::Node* pNode); static long GetNodeValueAsLong(Poco::XML::Node* pNode); static double GetNodeValueAsDouble(Poco::XML::Node* pNode); static bool GetNodeValueAsBool(Poco::XML::Node* pNode); static Poco::Timestamp GetNodeValueAsTimeStamp(Poco::XML::Node* pNode); static Poco::DateTime GetNodeValueAsDateTime(Poco::XML::Node* pNode); static MediaType GetNodeValueAsMediaType(Poco::XML::Node* pNode); static StreamType GetNodeValueAsStreamType(Poco::XML::Node* pNode); static PlaylistType GetNodeValueAsPlaylistType(Poco::XML::Node* pNode); static ExtraType GetNodeValueAsExtraType(Poco::XML::Node* pNode); private: }; } #endif // XMLOBJECT_H