summaryrefslogtreecommitdiff
path: root/music.cpp
diff options
context:
space:
mode:
authorJon Bergli Heier <snakebite@jvnv.net>2011-01-02 03:55:52 +0100
committerJon Bergli Heier <snakebite@jvnv.net>2011-01-02 03:55:52 +0100
commite19efcb8e7ba2cf4d4ce59c5f76e78a41a19ba24 (patch)
treeef89bb164d0e06f30396e84804cbc33c074ac065 /music.cpp
parent0473fa912e2d2531529fec14a201efa3b20e2ef3 (diff)
Command handling changes as a result of adding the update command.
Diffstat (limited to 'music.cpp')
-rw-r--r--music.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/music.cpp b/music.cpp
index 6265771..9193b89 100644
--- a/music.cpp
+++ b/music.cpp
@@ -11,6 +11,7 @@
#include <boost/algorithm/string/split.hpp>
#include <boost/cast.hpp>
#include <boost/filesystem/fstream.hpp>
+#include <boost/foreach.hpp>
#include <soci/soci.h>
fs::path music::root_directory;
@@ -77,6 +78,21 @@ std::vector<MusicListing::p> music::find_artist(const std::string artist) {
return results;
}
+void music::begin_update(const std::string path) {
+ MusicDirectory::p dir = get_directory(path);
+ std::cout << boost::format("updater(%s) called") % path << std::endl;
+ if(dir) {
+ update(dir->path);
+ }
+}
+
+void music::update(const MusicDirectory& dir) {
+ BOOST_FOREACH(fs::path t, dir.tracks) {
+ std::cout << "track " << t << std::endl;
+ }
+ std::for_each(dir.directories.begin(), dir.directories.end(), update);
+}
+
void MusicDirectory::render(HTTP::Connection::p req, HTTPResponse& res) {
res.add_header("content-type", "text/html");