-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcookieservice.cpp
32 lines (28 loc) · 996 Bytes
/
cookieservice.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include "cookieservice.h"
CookieService::CookieService(QObject *parent)
: QObject(parent)
, m_settings("AnonymousChat", "AnonymousChatApp")
{}
void CookieService::saveCookie(const QString &key, const QVariant &value, int expirationTimeMs)
{
m_settings.setValue(key, value);
m_settings.setValue(key + "_expiration",
QDateTime::currentDateTime().addMSecs(expirationTimeMs));
}
QVariant CookieService::loadCookie(const QString &key)
{
QDateTime expirationTime = m_settings.value(key + "_expiration").toDateTime();
if (QDateTime::currentDateTime() > expirationTime) {
m_settings.remove(key);
m_settings.remove(key + "_expiration");
return QVariant(); // Data is expired
}
return m_settings.value(key);
}
void CookieService::removeCookie()
{
// Remove user_id and its expiration
m_settings.remove("user_id");
m_settings.remove("user_id_expiration");
qDebug() << "User logged out. Cookie cleared.";
}