MySQL 9.3.0
Source Code Documentation
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
mrs::http::SessionManager::Session Class Reference

#include <session_manager.h>

Classes

class  SessionData
 

Public Types

enum  State {
  kUninitialized , kWaitingForCode , kGettingTokken , kTokenVerified ,
  kUserVerified
}
 

Public Member Functions

 Session (const SessionId id, const AuthorizationHandlerId &authorization, const std::string &holder_name)
 
template<typename Derived >
Derived * get_data () const
 
void set_data (SessionData *data)
 
void set_data (std::unique_ptr< SessionData > &&data)
 
AuthorizationHandlerId get_authorization_handler_id () const
 
const SessionIdget_session_id () const
 
const std::string & get_holder_name () const
 
system_clock::time_point get_access_time () const
 
system_clock::time_point get_create_time () const
 
system_clock::time_point update_access_time ()
 
bool has_access_timeout (system_clock::duration timeout) const
 
bool is_expired (system_clock::duration timeout) const
 

Public Attributes

bool generate_token {false}
 
State state {kUninitialized}
 
std::optional< std::string > users_on_complete_url_redirection
 
std::string users_on_complete_timeout
 
std::string handler_name
 
std::string handler_secondary_id
 
AuthUser user
 
std::string proto
 
std::string host
 

Private Attributes

std::unique_ptr< SessionDatadata_
 
SessionId id_
 
system_clock::time_point access_time_
 
system_clock::time_point create_time_
 
AuthorizationHandlerId authorization_handler_id_ {0}
 
std::string holder_name_
 

Member Enumeration Documentation

◆ State

Enumerator
kUninitialized 
kWaitingForCode 
kGettingTokken 
kTokenVerified 
kUserVerified 

Constructor & Destructor Documentation

◆ Session()

mrs::http::SessionManager::Session::Session ( const SessionId  id,
const AuthorizationHandlerId authorization,
const std::string &  holder_name 
)

Member Function Documentation

◆ get_access_time()

system_clock::time_point mrs::http::SessionManager::Session::get_access_time ( ) const
inline

◆ get_authorization_handler_id()

AuthorizationHandlerId mrs::http::SessionManager::Session::get_authorization_handler_id ( ) const
inline

◆ get_create_time()

system_clock::time_point mrs::http::SessionManager::Session::get_create_time ( ) const
inline

◆ get_data()

template<typename Derived >
Derived * mrs::http::SessionManager::Session::get_data ( ) const
inline

◆ get_holder_name()

const std::string & mrs::http::SessionManager::Session::get_holder_name ( ) const
inline

◆ get_session_id()

const SessionId & mrs::http::SessionManager::Session::get_session_id ( ) const
inline

◆ has_access_timeout()

bool mrs::http::SessionManager::Session::has_access_timeout ( system_clock::duration  timeout) const
inline

◆ is_expired()

bool mrs::http::SessionManager::Session::is_expired ( system_clock::duration  timeout) const
inline

◆ set_data() [1/2]

void mrs::http::SessionManager::Session::set_data ( SessionData data)
inline

◆ set_data() [2/2]

void mrs::http::SessionManager::Session::set_data ( std::unique_ptr< SessionData > &&  data)
inline

◆ update_access_time()

system_clock::time_point mrs::http::SessionManager::Session::update_access_time ( )
inline

Member Data Documentation

◆ access_time_

system_clock::time_point mrs::http::SessionManager::Session::access_time_
private

◆ authorization_handler_id_

AuthorizationHandlerId mrs::http::SessionManager::Session::authorization_handler_id_ {0}
private

◆ create_time_

system_clock::time_point mrs::http::SessionManager::Session::create_time_
private

◆ data_

std::unique_ptr<SessionData> mrs::http::SessionManager::Session::data_
private

◆ generate_token

bool mrs::http::SessionManager::Session::generate_token {false}

◆ handler_name

std::string mrs::http::SessionManager::Session::handler_name

◆ handler_secondary_id

std::string mrs::http::SessionManager::Session::handler_secondary_id

◆ holder_name_

std::string mrs::http::SessionManager::Session::holder_name_
private

◆ host

std::string mrs::http::SessionManager::Session::host

◆ id_

SessionId mrs::http::SessionManager::Session::id_
private

◆ proto

std::string mrs::http::SessionManager::Session::proto

◆ state

State mrs::http::SessionManager::Session::state {kUninitialized}

◆ user

AuthUser mrs::http::SessionManager::Session::user

◆ users_on_complete_timeout

std::string mrs::http::SessionManager::Session::users_on_complete_timeout

◆ users_on_complete_url_redirection

std::optional<std::string> mrs::http::SessionManager::Session::users_on_complete_url_redirection

The documentation for this class was generated from the following files: