ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/repos/DecentralizedMedia/DecentralizedMedia.hpp
Revision: 514
Committed: 2005-06-20T00:19:47-07:00 (20 years ago) by douglas
File size: 1382 byte(s)
Log Message:
Added beginnings of Share stuff.

File Contents

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

Properties

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