28 class SessionMaintainer;
29 class ConstSessionMaintainer;
44 static std::shared_ptr<Session> create( Type type,
45 std::chrono::milliseconds timeout = std::chrono::milliseconds( 1000 ) );
49 const std::string& uuid()
const;
52 void setType( Type type );
54 bool isExpired()
const;
55 void updateKeepAlive();
57 static Type typeFromUint(
unsigned type );
59 std::chrono::milliseconds timeout()
const;
65 Session( Type type, std::chrono::milliseconds timeout );
67 bool unlockedIsExpired()
const;
68 void blockExpiration()
const;
69 void unblockExpiration()
const;
71 const std::string m_uuid;
73 const std::chrono::milliseconds m_timeOut;
75 mutable std::chrono::steady_clock::time_point m_lastKeepAlive;
76 mutable std::mutex m_mutex;
77 mutable bool m_expirationBlocked;
86 std::shared_ptr<Session> operator->();
87 operator bool()
const;
88 bool operator!()
const;
92 std::shared_ptr<Session> m_session;
101 std::shared_ptr<const Session> operator->()
const;
102 operator bool()
const;
103 bool operator!()
const;
107 std::shared_ptr<const Session> m_session;
Definition: cafSession.h:96
Definition: cafSession.h:81
Abstract class representing an application session.
Definition: cafSession.h:35
Main Caffa namespace.
Definition: __init__.py:1