urbackup_backend/Interface/DatabaseCursor.h
Martin Raiber cf0c2c6df4 Fix a few query leaks
(cherry picked from commit 91356f346aa049b6a8468d492a4badcfb040bd62)
2016-01-30 20:57:31 +01:00

44 lines
631 B
C++

#ifndef IDATABASECURSOR_H_
#define IDATABASECURSOR_H_
#include "Query.h"
class IDatabaseCursor
{
public:
virtual bool next(db_single_result &res)=0;
virtual bool has_error()=0;
virtual void shutdown() = 0;
};
class ScopedDatabaseCursor
{
public:
ScopedDatabaseCursor(IDatabaseCursor* cursor)
: cursor(cursor)
{
}
~ScopedDatabaseCursor()
{
cursor->shutdown();
}
virtual bool next(db_single_result &res)
{
return cursor->next(res);
}
virtual bool has_error()
{
return cursor->has_error();
}
private:
IDatabaseCursor* cursor;
};
#endif //IDATABASECURSOR_H_