Remoto - VFS: VFS_tcp_export_sessionManager Class Reference
Remoto - VFS

A static class coupled with VFS_tcp_export_client for managing sessions. More...

#include <VFS_tcp_export_sessionManager.h>

Inheritance diagram for VFS_tcp_export_sessionManager:

Static Public Member Functions

static VFS_sessionfetchSession (QString id)
 Fetch a session by id. More...
 
static bool registerSession (QString id, VFS_session *session)
 Register a session with the session registry. More...
 
static bool requestSession (QString id, VFS_tcp_export_client *client)
 Request a session by id from a given VFS_tcp_export_client. More...
 

Private Slots

void expireSession (bool)
 A session has expired. More...
 

Static Private Attributes

static VFS_tcp_export_sessionManager _instance
 A static instance of this class, used to receive expirations. More...
 
static QMutex _lock
 A mutex for locking _sessions. More...
 
static QMap< QString, bool > _requests
 Sessions which are currently under request. More...
 
static QMap< QString, VFS_session * > _sessions
 The sessions registered to this node. More...
 

Detailed Description

A static class coupled with VFS_tcp_export_client for managing sessions.

This class will request unknown sessions from a connected client by id.

Definition at line 7 of file VFS_tcp_export_sessionManager.h.

Member Function Documentation

◆ expireSession

void VFS_tcp_export_sessionManager::expireSession ( bool  )
privateslot

A session has expired.

Remove it from _sessions and _requests.

Definition at line 94 of file VFS_tcp_export_sessionManager.cpp.

◆ fetchSession()

VFS_session * VFS_tcp_export_sessionManager::fetchSession ( QString  id)
static

Fetch a session by id.

Parameters
idThe id of the session to search for
Returns
The session with the given id, if it exists.

Definition at line 24 of file VFS_tcp_export_sessionManager.cpp.

◆ registerSession()

bool VFS_tcp_export_sessionManager::registerSession ( QString  id,
VFS_session session 
)
static

Register a session with the session registry.

Parameters
idThe id of the session to register
sessionThe VFS_session to register
Returns
true if the session was successfully registered, or false if one with the given id already existed

Definition at line 41 of file VFS_tcp_export_sessionManager.cpp.

◆ requestSession()

bool VFS_tcp_export_sessionManager::requestSession ( QString  id,
VFS_tcp_export_client client 
)
static

Request a session by id from a given VFS_tcp_export_client.

Parameters
idThe id to request
clientThe client to request from
Returns
true if the session was successfully requested, or false if one with the given id already existed and has already been requested

Definition at line 65 of file VFS_tcp_export_sessionManager.cpp.

Member Data Documentation

◆ _instance

VFS_tcp_export_sessionManager VFS_tcp_export_sessionManager::_instance
staticprivate

A static instance of this class, used to receive expirations.

Definition at line 20 of file VFS_tcp_export_sessionManager.h.

◆ _lock

QMutex VFS_tcp_export_sessionManager::_lock
staticprivate

A mutex for locking _sessions.

Definition at line 17 of file VFS_tcp_export_sessionManager.h.

◆ _requests

QMap< QString, bool > VFS_tcp_export_sessionManager::_requests
staticprivate

Sessions which are currently under request.

Definition at line 19 of file VFS_tcp_export_sessionManager.h.

◆ _sessions

QMap< QString, VFS_session * > VFS_tcp_export_sessionManager::_sessions
staticprivate

The sessions registered to this node.

Definition at line 18 of file VFS_tcp_export_sessionManager.h.


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