simplify interface for usage with cache

main
acetone 2023-05-05 20:43:58 +03:00
parent 957debf21b
commit cffbeee90d
3 changed files with 8 additions and 2 deletions

View File

@ -23,7 +23,7 @@ int main(int argc, char *argv[])
qInfo() << "Default difficulty:" << ZeroStorageCaptcha::defaultDifficulty();
qInfo() << "Default answer length:" << ZeroStorageCaptcha::defaultAnswerLength();
auto c = ZeroStorageCaptchaService::Cache::get();
auto c = ZeroStorageCaptcha::cached();
QFile pic("c.png");
if (not pic.open(QIODevice::WriteOnly)) return 1;
pic.write(c->picturePng());

View File

@ -80,6 +80,11 @@ ZeroStorageCaptcha::ZeroStorageCaptcha(const QString &answer, int difficulty)
render();
}
QSharedPointer<ZeroStorageCaptcha> ZeroStorageCaptcha::cached()
{
return ZeroStorageCaptchaService::Cache::get();
}
bool ZeroStorageCaptcha::validate(const QString &answer, const QString &token)
{
return ZeroStorageCaptchaService::TokenManager::validateAnswer(answer, token);

View File

@ -119,10 +119,11 @@ private:
class ZeroStorageCaptcha
{
friend ZeroStorageCaptchaService::Cache;
friend ZeroStorageCaptchaService::Cache; // for dropToken()
public:
ZeroStorageCaptcha();
ZeroStorageCaptcha(const QString& answer, int difficulty = ZeroStorageCaptchaService::Cache::difficulty());
static QSharedPointer<ZeroStorageCaptcha> cached();
static bool validate(const QString& answer, const QString& token);
static void setCacheMaxCapacity(qsizetype value);
static qsizetype cacheMaxCapacity();