cutelyst 4.3.0
A C++ Web Framework built on top of Qt, using the simple approach of Catalyst (Perl) framework.
memcachedsessionstore.h
1/*
2 * SPDX-FileCopyrightText: (C) 2017-2023 Matthias Fehring <mf@huessenbergnetz.de>
3 * SPDX-License-Identifier: BSD-3-Clause
4 */
5#ifndef CUTELYSTMEMCACHEDSESSIONSTORE_H
6#define CUTELYSTMEMCACHEDSESSIONSTORE_H
7
8#include <Cutelyst/Plugins/Session/session.h>
9#include <Cutelyst/cutelyst_global.h>
10
11namespace Cutelyst {
12
13class Application;
14class MemcachedSessionStorePrivate;
15
77class CUTELYST_PLUGIN_MEMCACHEDSESSIONSTORE_EXPORT MemcachedSessionStore final : public SessionStore
78{
79 Q_OBJECT
80 Q_DECLARE_PRIVATE(MemcachedSessionStore) // NOLINT(cppcoreguidelines-pro-type-reinterpret-cast)
81 Q_DISABLE_COPY(MemcachedSessionStore)
82public:
88 MemcachedSessionStore(Application *app, QObject *parent = nullptr);
89
94
95 QVariant getSessionData(Context *c,
96 const QByteArray &sid,
97 const QString &key,
98 const QVariant &defaultValue) override;
99
100 bool storeSessionData(Context *c,
101 const QByteArray &sid,
102 const QString &key,
103 const QVariant &value) override;
104
105 bool deleteSessionData(Context *c, const QByteArray &sid, const QString &key) override;
106
107 bool deleteExpiredSessions(Context *c, quint64 expires) override;
108
113 void setGroupKey(const QByteArray &groupKey);
114
115private:
116 std::unique_ptr<MemcachedSessionStorePrivate> d_ptr;
117};
118
119} // namespace Cutelyst
120
121#endif // CUTELYSTMEMCACHEDSESSIONSTORE_H
The Cutelyst application.
Definition application.h:66
The Cutelyst Context.
Definition context.h:42
Memcached based session store.
Abstract class to create a session store.
Definition session.h:36
The Cutelyst namespace holds all public Cutelyst API.