summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/media/mediaManager.h29
-rw-r--r--include/tools.h2
2 files changed, 31 insertions, 0 deletions
diff --git a/include/media/mediaManager.h b/include/media/mediaManager.h
index 41707d1..7e97799 100644
--- a/include/media/mediaManager.h
+++ b/include/media/mediaManager.h
@@ -18,6 +18,33 @@
namespace upnp {
+class cMediaManager;
+
+class cResourceStreamer {
+ friend class cMediaManager;
+private:
+ cUPnPResourceProvider* provider;
+ cMetadata::Resource* resource;
+
+ cMediaManager* manager;
+
+ StringVector protocolInfo;
+
+ cResourceStreamer(cMediaManager* manager, cUPnPResourceProvider* provider, cMetadata::Resource* resource);
+public:
+ std::string GetContentFeatures() const;
+ size_t GetContentLength() const;
+ std::string GetContentType() const;
+ std::string GetTransferMode(const std::string& requestedMode ) const;
+ std::string GetRange() const;
+ std::string GetAvailableSeekRange(const std::string& seekRequest) const;
+
+ bool Open(string uri);
+ size_t Read(char* buf, size_t bufLen);
+ bool Seek(size_t offset, int origin);
+ void Close();
+};
+
class cMediaManager : public cThread {
private:
@@ -67,6 +94,8 @@ public:
static BrowseFlag ToBrowseFlag(std::string browseFlag);
+ cResourceStreamer* GetResourceStreamer(std::string objectID);
+
private:
void Action();
diff --git a/include/tools.h b/include/tools.h
index e322adc..008b74a 100644
--- a/include/tools.h
+++ b/include/tools.h
@@ -121,6 +121,8 @@ namespace tools {
string GenerateUUIDFromURL(string url);
string GenerateUUIDRandomly();
+
+ void StringExplode(string str, string separator, StringVector results);
}
namespace ixml {