6#include <QtCore/QThread>
9#include <icomp/CComponentBase.h>
12#include <imtbase/IObjectCollection.h>
13#include <imtauth/IUserVerificationController.h>
20class CUserVerificationControllerComp:
public icomp::CComponentBase,
virtual public IUserVerificationController
23 typedef icomp::CComponentBase BaseClass;
25 I_BEGIN_COMPONENT(CUserVerificationControllerComp);
26 I_REGISTER_INTERFACE(IUserVerificationController);
27 I_ASSIGN(m_userVerificationCollectionCompPtr,
"UserVerificationCollection",
"User verification collection",
false,
"UserVerificationCollection");
28 I_ASSIGN(m_codeValidityPeriodAttrPtr,
"CodeValidityPeriod",
"Code validity period (in secs)",
false, 180);
31 CUserVerificationControllerComp();
34 virtual const imtauth::IUserVerification* GetVerificationData(
const QByteArray& verificationId)
const override;
35 virtual bool GenerateVerificationData(
const QByteArray& userId, imtauth::IUserVerification* userVerificationPtr =
nullptr)
override;
36 virtual bool VerifyUser(
const QByteArray& userId,
const QByteArray& verificationCode)
const override;
39 virtual void OnComponentCreated()
override;
40 virtual void OnComponentDestroyed()
override;
43 int GenerateCode(
int min,
int max)
const;
45 class CheckExpiredVerificationDataThread:
public QThread
48 CheckExpiredVerificationDataThread(CUserVerificationControllerComp& parent);
52 virtual void run()
override;
55 CUserVerificationControllerComp& m_parent;
60 I_ATTR(
int, m_codeValidityPeriodAttrPtr);
63 CheckExpiredVerificationDataThread m_checkExpiredVerificationDataThread;