summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/sys/windows/FileSysDir.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/qpid/sys/windows/FileSysDir.cpp')
-rw-r--r--cpp/src/qpid/sys/windows/FileSysDir.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/cpp/src/qpid/sys/windows/FileSysDir.cpp b/cpp/src/qpid/sys/windows/FileSysDir.cpp
index 88f1637d48..88a2e62acc 100644
--- a/cpp/src/qpid/sys/windows/FileSysDir.cpp
+++ b/cpp/src/qpid/sys/windows/FileSysDir.cpp
@@ -25,6 +25,11 @@
#include <direct.h>
#include <errno.h>
+#include <boost/filesystem/operations.hpp>
+#include <boost/filesystem/path.hpp>
+
+namespace fs=boost::filesystem;
+
namespace qpid {
namespace sys {
@@ -50,4 +55,13 @@ void FileSysDir::mkdir(void)
throw Exception ("Can't create directory: " + dirPath);
}
+void FileSysDir::forEachFile(Callback cb) const {
+ fs::directory_iterator dirP(dirPath);
+ fs::directory_iterator endItr;
+ for (fs::directory_iterator itr (dirP); itr != endItr; ++itr)
+ {
+ cb(itr->path().string());
+ }
+}
+
}} // namespace qpid::sys