summaryrefslogtreecommitdiff
path: root/media/pluginManager.cpp
diff options
context:
space:
mode:
authormethodus <methodus@web.de>2012-12-10 20:49:53 +0100
committermethodus <methodus@web.de>2012-12-10 20:49:53 +0100
commit7c5e5dac8eba1e6132582f7ff549fd04dc877ce1 (patch)
tree4f937c7a5eb686d25e44be178d0e7d6867456e1b /media/pluginManager.cpp
parentb36c18930b3221fbc7cfea674472d77cdb466c98 (diff)
downloadvdr-plugin-upnp-7c5e5dac8eba1e6132582f7ff549fd04dc877ce1.tar.gz
vdr-plugin-upnp-7c5e5dac8eba1e6132582f7ff549fd04dc877ce1.tar.bz2
Ignoring signal SIGPIPE which might cause crashes
Diffstat (limited to 'media/pluginManager.cpp')
-rw-r--r--media/pluginManager.cpp41
1 files changed, 41 insertions, 0 deletions
diff --git a/media/pluginManager.cpp b/media/pluginManager.cpp
index cd31be3..5f38aa8 100644
--- a/media/pluginManager.cpp
+++ b/media/pluginManager.cpp
@@ -11,6 +11,7 @@
#include "../include/tools/string.h"
#include "../include/tools/uuid.h"
#include <string>
+#include <fstream>
#include <sstream>
#include <dlfcn.h>
#include <dirent.h>
@@ -286,6 +287,10 @@ string cUPnPResourceProvider::GetHTTPUri(const string&, const string&, const str
return string();
}
+string cUPnPResourceProvider::GetFile(const string& uri){
+ return uri;
+}
+
bool cUPnPResourceProvider::Seekable() const {
return false;
}
@@ -309,6 +314,42 @@ void cUPnPResourceProvider::OnContainerUpdate(const string& uri, long int cUID,
cMediaServer::GetInstance()->GetManager().OnContainerUpdate(uri, cUID, target);
}
+bool cUPnPResourceProvider::HasRootContainer(const string& uri){
+ if(uri.find(GetRootContainer(), 0) != 0){
+ isyslog("RecProvider\tUri does not contain the root.");
+ return false;
+ } else {
+ return true;
+ }
+}
+
+bool cUPnPResourceProvider::Parse(const string& line){
+ return true;
+}
+
+bool cUPnPResourceProvider::LoadConfigFile(const string& fn, bool allowComments)
+{
+ string filename = cMediaServer::GetInstance()->GetConfigDirectory() + "/" + fn;
+ if (access(filename.c_str(), F_OK) == 0) {
+ isyslog("loading %s", filename.c_str());
+ ifstream file;
+ file.open(filename.c_str(), ifstream::in);
+ if(!file.is_open())
+ return false;
+ string line;
+ while(getline(file, line)){
+ if(line.length() > 0){
+ if(allowComments && line[0] == '#')
+ continue;
+ if(!Parse(line))
+ return false;
+ }
+ }
+ return true;
+ }
+ return false;
+}
+
void cUPnPResourceProvider::Action(){}
upnp::cPluginManager::cPluginManager()