db/Interface: migrate visitor methods from class Error to C++ exceptions
This commit is contained in:
@@ -32,7 +32,6 @@
|
||||
#include "fs/Traits.hxx"
|
||||
#include "util/Alloc.hxx"
|
||||
#include "util/DeleteDisposer.hxx"
|
||||
#include "util/Error.hxx"
|
||||
|
||||
#include <assert.h>
|
||||
#include <string.h>
|
||||
@@ -218,14 +217,11 @@ Directory::Sort()
|
||||
child.Sort();
|
||||
}
|
||||
|
||||
bool
|
||||
void
|
||||
Directory::Walk(bool recursive, const SongFilter *filter,
|
||||
VisitDirectory visit_directory, VisitSong visit_song,
|
||||
VisitPlaylist visit_playlist,
|
||||
Error &error) const
|
||||
VisitPlaylist visit_playlist) const
|
||||
{
|
||||
assert(!error.IsDefined());
|
||||
|
||||
if (IsMount()) {
|
||||
assert(IsEmpty());
|
||||
|
||||
@@ -233,11 +229,11 @@ Directory::Walk(bool recursive, const SongFilter *filter,
|
||||
because the child's SimpleDatabasePlugin::Visit()
|
||||
call will lock it again */
|
||||
const ScopeDatabaseUnlock unlock;
|
||||
return WalkMount(GetPath(), *mounted_database,
|
||||
recursive, filter,
|
||||
visit_directory, visit_song,
|
||||
visit_playlist,
|
||||
error);
|
||||
WalkMount(GetPath(), *mounted_database,
|
||||
recursive, filter,
|
||||
visit_directory, visit_song,
|
||||
visit_playlist);
|
||||
return;
|
||||
}
|
||||
|
||||
if (visit_song) {
|
||||
@@ -257,14 +253,11 @@ Directory::Walk(bool recursive, const SongFilter *filter,
|
||||
if (visit_directory)
|
||||
visit_directory(child.Export());
|
||||
|
||||
if (recursive &&
|
||||
!child.Walk(recursive, filter,
|
||||
visit_directory, visit_song, visit_playlist,
|
||||
error))
|
||||
return false;
|
||||
if (recursive)
|
||||
child.Walk(recursive, filter,
|
||||
visit_directory, visit_song,
|
||||
visit_playlist);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
LightDirectory
|
||||
|
Reference in New Issue
Block a user