mirror of
https://github.com/Relintai/rcpp_framework.git
synced 2024-11-14 04:57:21 +01:00
45 lines
993 B
C++
45 lines
993 B
C++
#ifndef HTTP_SESSION_H
|
|
#define HTTP_SESSION_H
|
|
|
|
#include "core/string.h"
|
|
|
|
#include "core/object.h"
|
|
#include "core/reference.h"
|
|
#include <map>
|
|
#include <mutex>
|
|
|
|
class HTTPSession : public Object {
|
|
public:
|
|
void add_object(const String &key, Object *obj);
|
|
void remove_object(const String &key);
|
|
Object *get_object(const String &key);
|
|
|
|
void add_reference(const String &key, const Ref<Reference> &ref);
|
|
void remove_reference(const String &key);
|
|
Ref<Reference> get_reference(const String &key);
|
|
|
|
void add_int(const String &key, const int val);
|
|
void remove_int(const String &key);
|
|
int get_int(const String &key);
|
|
|
|
String session_id;
|
|
int id;
|
|
|
|
void clear();
|
|
void reset();
|
|
|
|
std::map<String, int> get_int_data();
|
|
|
|
HTTPSession();
|
|
~HTTPSession();
|
|
|
|
protected:
|
|
std::mutex _mutex;
|
|
|
|
//todo make something similar to godot's variant. (Or get godot's variant lol)
|
|
std::map<String, Object *> _data;
|
|
std::map<String, Ref<Reference> > _reference_data;
|
|
std::map<String, int> _int_data;
|
|
};
|
|
|
|
#endif |