diff options
Diffstat (limited to 'music.h')
-rw-r--r-- | music.h | 14 |
1 files changed, 5 insertions, 9 deletions
@@ -11,6 +11,7 @@ namespace fs = boost::filesystem; class MusicListing { public: + typedef boost::shared_ptr<MusicListing> 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<MusicDirectory> MusicDirectories; -typedef std::vector<MusicTrack> MusicTracks; - class MusicDirectory : public MusicListing { public: - MusicDirectories directories; - MusicTracks tracks; + typedef std::vector<fs::path> 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 |