// Decentralized Media // // Douglas Thrift // // $Id$ #ifndef _DecentralizedMedia_hpp_ #define _DecentralizedMedia_hpp_ #include #ifdef MENES_PRAGMA_ONCE #pragma once #endif #include #include #include #include "BeepRemote.hpp" #include "MediaFolder.hpp" class DecentralizedMedia : public waf::Server { public: BeepRemote bmp; private: _H block; _H process; mutable _H connection; const ext::RedBlackSet& extensions/*, shares*/; void Media(ios::Reader& media); void Media(const _H& folder, const api::Path& path, const api::Path& root); ext::String Share(const ext::String& host, const ext::String& share); int Destroy() { return process->Join(); } protected: virtual void Process(const net::Http::Request& request, net::Http::Response& response); public: DecentralizedMedia(const ext::RedBlackSet& extensions, const ext::RedBlackSet& locals); virtual ~DecentralizedMedia(); _L GetArtists() const; _L GetTitles() const; _L GetAlbums() const; _L GetGenres() const; _L GetFolders() const; }; #endif//_DecentralizedMedia_hpp_