ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/repos/DecentralizedMedia/DecentralizedMedia.hpp
Revision: 529
Committed: 2005-06-27T18:01:23-07:00 (19 years, 11 months ago) by douglas
File size: 1380 byte(s)
Log Message:
Updated to new api::Path changes.

File Contents

# Content
1 // Decentralized Media
2 //
3 // Douglas Thrift
4 //
5 // $Id$
6
7 #ifndef _DecentralizedMedia_hpp_
8 #define _DecentralizedMedia_hpp_
9
10 #include <menes/platform.hpp>
11
12 #ifdef MENES_PRAGMA_ONCE
13 #pragma once
14 #endif
15
16 #include <menes-api/process.hpp>
17 #include <menes-waf/server.hpp>
18 #include <menes-xml/nodeset.hpp>
19
20 #include "BeepRemote.hpp"
21 #include "MediaFolder.hpp"
22 #include "Share.hpp"
23
24 class DecentralizedMedia : public waf::Server
25 {
26 public:
27 BeepRemote bmp;
28 private:
29 _H<api::Thread> block;
30 _H<api::Process> process;
31 mutable _H<dbi::Connection> connection;
32 const ext::RedBlackSet<ext::String>& extensions;
33 ext::RedBlackMap<ext::String, _H<Share> > sharesByPath;
34 ext::RedBlackMap<ext::String, ext::RedBlackMap<ext::String, _H<Share> > > sharesByHost;
35 void Media(ios::Reader& media);
36 void Media(const _H<xml::Node>& folder, const api::Path& path, const api::Path& root);
37 int Destroy() { return process->Join(); }
38 protected:
39 virtual void Process(const net::Http::Request& request, net::Http::Response& response);
40 public:
41 DecentralizedMedia(const ext::RedBlackSet<ext::String>& extensions, const ext::RedBlackSet<api::Path>& locals);
42 virtual ~DecentralizedMedia();
43 _L<ext::String> GetArtists() const;
44 _L<ext::String> GetTitles() const;
45 _L<ext::String> GetAlbums() const;
46 _L<ext::String> GetGenres() const;
47 _L<MediaFolder> GetFolders() const;
48 };
49
50 #endif//_DecentralizedMedia_hpp_

Properties

Name Value
svn:eol-style native
svn:keywords Id