Timesheets-Server
Timesheets server
Načítám...
Vyhledávám...
Nebylo nic nalezeno
Dokumentace třídy Httpd::SessionStore

Seesion store - zajišťuje singleton instanci třídy. ...

#include <sessionstore.h>

Diagram dědičnosti pro třídu Httpd::SessionStore:

Veřejné metody

void load ()
 Loads sessions from the file configured in httpd/sessions-file.
void save ()
 Saves sessions to the file configured in httpd/sessions-file.

Statické veřejné metody

static SessionStoresessionStore (const HobrasoftHttpd::HttpSettings *settings=NULL, QObject *parent=NULL)
 Vrací ukazatel na singleton instanci třídy.

Detailní popis

Seesion store - zajišťuje singleton instanci třídy.

Definice je uvedena na řádku 19 v souboru sessionstore.h.

Dokumentace konstruktoru a destruktoru

◆ ~SessionStore()

SessionStore::~SessionStore ( )

Definice je uvedena na řádku 35 v souboru sessionstore.cpp.

35 {
36 save();
37}
void save()
Saves sessions to the file configured in httpd/sessions-file.

Dokumentace členských funkcí

◆ load()

void SessionStore::load ( )

Loads sessions from the file configured in httpd/sessions-file.

Definice je uvedena na řádku 47 v souboru sessionstore.cpp.

47 {
48 QFile file(MSETTINGS->httpdSessionsFile());
49 if (!file.open(QIODevice::ReadOnly)) { return; }
50 QByteArray json = file.readAll();
51 file.close();
52 QVariant data = JSON::data(json);
53 QVariantList list = data.toList();
54 for (const QVariant& v : list) {
55 QVariantMap map = v.toMap();
56 HobrasoftHttpd::HttpSessionData d;
57 d.id = map.value("id").toByteArray();
58 d.lastAccess = QDateTime::fromString(map.value("lastAccess").toString(), Qt::ISODate);
59 QVariantHash values = map.value("values").toHash();
60 QHash<QString, QVariant> hash;
61 for (auto it = values.constBegin(); it != values.constEnd(); ++it) {
62 hash.insert(it.key(), it.value());
63 }
64 d.values = hash;
65 setSessionData(d);
66 }
67}
static QVariant data(const QByteArray &json)
Converts json to data.
Definition json.cpp:69

◆ save()

void SessionStore::save ( )

Saves sessions to the file configured in httpd/sessions-file.

Definice je uvedena na řádku 69 v souboru sessionstore.cpp.

69 {
70 QVariantList list;
71 QList<HobrasoftHttpd::HttpSessionData> sessions = sessionsData();
72 for (const HobrasoftHttpd::HttpSessionData& d : sessions) {
73 QVariantMap map;
74 map["id"] = d.id;
75 map["lastAccess"] = d.lastAccess.toString(Qt::ISODate);
76 QVariantMap values;
77 QHashIterator<QString, QVariant> it(d.values);
78 while (it.hasNext()) {
79 it.next();
80 values.insert(it.key(), it.value());
81 }
82 map["values"] = values;
83 list << map;
84 }
85 QFile file(MSETTINGS->httpdSessionsFile());
86 if (!file.open(QIODevice::WriteOnly | QIODevice::Truncate)) { return; }
87 file.write(JSON::json(list));
88 file.close();
89}
static QByteArray json(const QVariant &data)
Converts data to json.
Definition json.cpp:21

◆ sessionStore()

SessionStore * SessionStore::sessionStore ( const HobrasoftHttpd::HttpSettings * settings = NULL,
QObject * parent = NULL )
static

Vrací ukazatel na singleton instanci třídy.

Definice je uvedena na řádku 40 v souboru sessionstore.cpp.

40 {
41 if (m_sessionStore == NULL) {
42 new SessionStore(settings, parent);
43 }
44 return m_sessionStore;
45}

Dokumentace pro tuto třídu byla vygenerována z následujících souborů: