summaryrefslogtreecommitdiff
path: root/XmlObject.cpp
diff options
context:
space:
mode:
authorchriszero <zerov83@gmail.com>2014-11-15 19:43:07 +0100
committerchriszero <zerov83@gmail.com>2014-11-15 19:43:07 +0100
commit23f9f7712bfa33b5a488a447a6fabe6035cc3240 (patch)
tree06bbe8e0bc52496c5ad3c41accc7524aa597e670 /XmlObject.cpp
parenta40adaf76fb1267d38b4c5e6386933ddb2d0d328 (diff)
downloadvdr-plugin-plex-23f9f7712bfa33b5a488a447a6fabe6035cc3240.tar.gz
vdr-plugin-plex-23f9f7712bfa33b5a488a447a6fabe6035cc3240.tar.bz2
initial commit
Diffstat (limited to 'XmlObject.cpp')
-rw-r--r--XmlObject.cpp87
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;
+}
+
+}