diff options
author | methodus <methodus@web.de> | 2012-09-26 00:45:33 +0200 |
---|---|---|
committer | methodus <methodus@web.de> | 2012-09-26 00:45:33 +0200 |
commit | 4cd5debf236f4d4315cce30c4cd11e392f00886a (patch) | |
tree | 5235f9cf3dceb44453ba31c1f1644aed5cd9b6d8 /include | |
parent | 4ff5f1b52b27d7b86d77ce956d79a1453810385b (diff) | |
download | vdr-plugin-upnp-4cd5debf236f4d4315cce30c4cd11e392f00886a.tar.gz vdr-plugin-upnp-4cd5debf236f4d4315cce30c4cd11e392f00886a.tar.bz2 |
Added streamer interface which connects the webserver with the resource provider.
Diffstat (limited to 'include')
-rw-r--r-- | include/media/mediaManager.h | 29 | ||||
-rw-r--r-- | include/tools.h | 2 |
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 { |