diff options
author | chriszero <zerov83@gmail.com> | 2014-11-15 19:43:07 +0100 |
---|---|---|
committer | chriszero <zerov83@gmail.com> | 2014-11-15 19:43:07 +0100 |
commit | 23f9f7712bfa33b5a488a447a6fabe6035cc3240 (patch) | |
tree | 06bbe8e0bc52496c5ad3c41accc7524aa597e670 /XmlObject.cpp | |
parent | a40adaf76fb1267d38b4c5e6386933ddb2d0d328 (diff) | |
download | vdr-plugin-plex-23f9f7712bfa33b5a488a447a6fabe6035cc3240.tar.gz vdr-plugin-plex-23f9f7712bfa33b5a488a447a6fabe6035cc3240.tar.bz2 |
initial commit
Diffstat (limited to 'XmlObject.cpp')
-rw-r--r-- | XmlObject.cpp | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/XmlObject.cpp b/XmlObject.cpp new file mode 100644 index 0000000..41a9d39 --- /dev/null +++ b/XmlObject.cpp @@ -0,0 +1,87 @@ +#include "XmlObject.h" + +namespace plexclient +{ + +XmlObject::XmlObject() +{ +} + +XmlObject::~XmlObject() +{ +} + +std::string XmlObject::GetNodeValue(Poco::XML::Node* pNode) +{ + std::string value; + if(pNode != 0) { + value = pNode->getNodeValue(); + } + return value; +} + +int XmlObject::GetNodeValueAsInt(Poco::XML::Node* pNode) +{ + int value = 0; + if(pNode != 0) { + try { + value = std::stoi(pNode->getNodeValue()); + } catch(Poco::Exception) {} + } + return value; +} + +long XmlObject::GetNodeValueAsLong(Poco::XML::Node* pNode) +{ + long value = 0; + if(pNode != 0) { + try { + value = std::stol(pNode->getNodeValue()); + } catch(Poco::Exception) {} + } + return value; +} + +bool XmlObject::GetNodeValueAsBool(Poco::XML::Node* pNode) +{ + bool value = false; + if(pNode != 0) { + value = pNode->getNodeValue() == "1"; + } + return value; +} + +Poco::Timestamp XmlObject::GetNodeValueAsTimeStamp(Poco::XML::Node* pNode) +{ + Poco::Timestamp value; + if(pNode != 0) { + try { + long lValue = std::stol(pNode->nodeValue()); + value = Poco::Timestamp(lValue); + } catch (Poco::Exception) {} + } + return value; +} + +MediaType XmlObject::GetNodeValueAsMediaType(Poco::XML::Node* pNode) +{ + MediaType type = MediaType::UNDEF; + + if(pNode != 0) { + std::string sType = pNode->nodeValue(); + if (Poco::icompare(sType, "photo") == 0) { + type = MediaType::PHOTO; + } else if (Poco::icompare(sType, "movie") == 0) { + type = MediaType::MOVIE; + } else if (Poco::icompare(sType, "music") == 0) { + type = MediaType::MUSIC; + } else if (Poco::icompare(sType, "show") == 0) { + type = MediaType::SHOW; + } else if (Poco::icompare(sType, "season") == 0) { + type = MediaType::SHOW; + } + } + return type; +} + +} |