From d67fd6103956046245744cf5cf094d4da8cbcc19 Mon Sep 17 00:00:00 2001 From: Jon Bergli Heier Date: Wed, 29 Dec 2010 21:54:04 +0100 Subject: Don't read entire directory tree into memory. --- music.h | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) (limited to 'music.h') diff --git a/music.h b/music.h index a86c6ac..7f1c813 100644 --- a/music.h +++ b/music.h @@ -11,6 +11,7 @@ namespace fs = boost::filesystem; class MusicListing { public: + typedef boost::shared_ptr p; fs::path path; virtual void render(HTTPRequest& req, HTTPResponse& res) = 0; }; @@ -21,24 +22,19 @@ class MusicTrack : public MusicListing { virtual void render(HTTPRequest& req, HTTPResponse& res); }; -class MusicDirectory; -typedef std::vector MusicDirectories; -typedef std::vector MusicTracks; - class MusicDirectory : public MusicListing { public: - MusicDirectories directories; - MusicTracks tracks; + typedef std::vector PathListings; + PathListings directories; + PathListings tracks; MusicDirectory(const fs::path root); virtual void render(HTTPRequest& req, HTTPResponse& res); }; namespace music { - extern MusicDirectory *root_directory; void init(std::string root); - MusicListing *find(std::string path, MusicDirectory& root); - MusicListing *find(std::string path); + MusicListing::p get(const std::string path); }; #endif -- cgit v1.2.3