summaryrefslogtreecommitdiff
path: root/media/mediaManager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'media/mediaManager.cpp')
-rw-r--r--media/mediaManager.cpp51
1 files changed, 36 insertions, 15 deletions
diff --git a/media/mediaManager.cpp b/media/mediaManager.cpp
index ed07da7..2b5fd87 100644
--- a/media/mediaManager.cpp
+++ b/media/mediaManager.cpp
@@ -8,6 +8,7 @@
#include "../include/plugin.h"
#include "../include/media/mediaManager.h"
#include "../include/server.h"
+#include "../include/parser.h"
#include <upnp/upnp.h>
#include <sstream>
#include <tntdb/statement.h>
@@ -37,10 +38,15 @@ IdList cMediaManager::GetContainerUpdateIDs(bool unevented){
return list;
}
-void cMediaManager::OnContainerUpdate(string containerID, long updateID){
+void cMediaManager::OnContainerUpdate(string uri, long updateID){
++mSystemUpdateID;
- mEventedContainerUpdateIDs[containerID] = updateID;
+ mEventedContainerUpdateIDs[tools::GenerateUUIDFromURL(uri)] = updateID;
+
+ mScanDirectories.push_back(uri);
+
+ // Start scanning for changed files.
+ Start();
}
StringList cMediaManager::GetSearchCapabilities() const {
@@ -94,6 +100,20 @@ int cMediaManager::Browse(BrowseRequest& request){
request.totalMatches = 0;
request.updateID = 0;
+ switch (request.browseMetadata){
+ case CD_BROWSE_METADATA:
+
+
+
+ case CD_BROWSE_DIRECT_CHILDREN:
+
+
+
+ default:
+ esyslog("UPnP\tInvalid arguments. Browse flag invalid");
+ return UPNP_SOAP_E_INVALID_ARGS;
+ }
+
return UPNP_E_SUCCESS;
}
@@ -130,19 +150,20 @@ bool cMediaManager::Initialise(){
tntdb::Statement objectTable = mConnection.prepare(
"CREATE TABLE metadata"
"("
- " objectID TEXT PRIMARY KEY,"
- " parentID TEXT NOT NULL,"
- " title TEXT NOT NULL,"
- " class TEXT NOT NULL,"
- " restricted INTEGER NOT NULL,"
- " description TEXT,"
- " ldescription TEXT,"
- " date TEXT,"
- " language TEXT,"
- " channelNr INTEGER,"
- " channelName TEXT,"
- " scheduledStart TEXT,"
- " scheduledEnd TEXT"
+ " objectID TEXT PRIMARY KEY,"
+ " parentID TEXT NOT NULL,"
+ " title TEXT NOT NULL,"
+ " class TEXT NOT NULL,"
+ " restricted INTEGER NOT NULL,"
+ " creator TEXT,"
+ " description TEXT,"
+ " longDescription TEXT,"
+ " date TEXT,"
+ " language TEXT,"
+ " channelNr INTEGER,"
+ " channelName TEXT,"
+ " scheduledStart TEXT,"
+ " scheduledEnd TEXT"
")");
objectTable.execute();