db/Interface: migrate visitor methods from class Error to C++ exceptions

This commit is contained in:
Max Kellermann
2016-10-29 10:21:57 +02:00
parent 9a9da7b077
commit fac8edd47a
27 changed files with 190 additions and 331 deletions

View File

@@ -84,36 +84,31 @@ public:
/**
* Visit the selected entities.
*/
virtual bool Visit(const DatabaseSelection &selection,
virtual void Visit(const DatabaseSelection &selection,
VisitDirectory visit_directory,
VisitSong visit_song,
VisitPlaylist visit_playlist,
Error &error) const = 0;
VisitPlaylist visit_playlist) const = 0;
bool Visit(const DatabaseSelection &selection,
void Visit(const DatabaseSelection &selection,
VisitDirectory visit_directory,
VisitSong visit_song,
Error &error) const {
return Visit(selection, visit_directory, visit_song,
VisitPlaylist(), error);
VisitSong visit_song) const {
Visit(selection, visit_directory, visit_song, VisitPlaylist());
}
bool Visit(const DatabaseSelection &selection, VisitSong visit_song,
Error &error) const {
return Visit(selection, VisitDirectory(), visit_song, error);
void Visit(const DatabaseSelection &selection,
VisitSong visit_song) const {
return Visit(selection, VisitDirectory(), visit_song);
}
/**
* Visit all unique tag values.
*/
virtual bool VisitUniqueTags(const DatabaseSelection &selection,
virtual void VisitUniqueTags(const DatabaseSelection &selection,
TagType tag_type, tag_mask_t group_mask,
VisitTag visit_tag,
Error &error) const = 0;
VisitTag visit_tag) const = 0;
virtual bool GetStats(const DatabaseSelection &selection,
DatabaseStats &stats,
Error &error) const = 0;
gcc_pure
virtual DatabaseStats GetStats(const DatabaseSelection &selection) const = 0;
/**
* Update the database. Returns the job id on success, 0 on