43 const QString AccountHR_;
45 std::unique_ptr<IWebWidget> Browser_;
47 QNetworkAccessManager *
const AuthNAM_;
53 QDateTime ReceivedAt_;
56 bool IsRequesting_ =
false;
61 bool IsRequestScheduled_ =
false;
62 QTimer *
const ScheduleTimer_;
64 bool SilentMode_ =
false;
66 bool HasTracked_ =
false;
79 VkAuthManager (
const QString& accountName,
const QString& clientId,
80 const QStringList& scope,
const QByteArray& cookies,
105 void InvokeQueues (
const QString&);
107 void RequestURL (
const QUrl&);
108 void RequestAuthKey ();
109 bool CheckReply (QUrl);
110 bool CheckError (
const QUrl&);
112 void ScheduleTrack (
const QString&);
113 void HandleGotForm (QNetworkReply*);
115 void handleUrlChanged (
const QUrl&);
A customized cookie jar with additional features.
A simple scheduling manager for a queue of functors.
Util::DefaultScopeGuard ScheduleGuard_t
ScheduleGuard_t ManageQueue(RequestQueue_ptr)
bool HadAuthentication() const
RequestQueue_t * RequestQueue_ptr
PrioRequestQueue_t * PrioRequestQueue_ptr
QList< std::function< void(QString)> > RequestQueue_t
~VkAuthManager() override
QFuture< AuthKeyResult_t > GetAuthKeyFuture()
bool IsAuthenticated() const
Either< AuthKeyError_t, QString > AuthKeyResult_t
QList< QPair< std::function< void(QString)>, QueuePriority > > PrioRequestQueue_t
void UpdateScope(const QStringList &)
std::variant< SilentMode > AuthKeyError_t
void cookiesChanged(const QByteArray &)
void gotAuthKey(const QString &)
VkAuthManager(const QString &accountName, const QString &clientId, const QStringList &scope, const QByteArray &cookies, const ICoreProxy_ptr &, QueueManager *=nullptr, QObject *=nullptr)
std::shared_ptr< ICoreProxy > ICoreProxy_ptr
QueuePriority
The priority of the action in the queue.
detail::ScopeGuard< detail::DefaultScopeGuardDeleter > DefaultScopeGuard