Leosac  0.8.0
Open Source Access Control
RequestContext.hpp
Go to the documentation of this file.
1 /*
2  Copyright (C) 2014-2016 Leosac
3 
4  This file is part of Leosac.
5 
6  Leosac is free software: you can redistribute it and/or modify
7  it under the terms of the GNU Affero General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  Leosac is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU Affero General Public License for more details.
15 
16  You should have received a copy of the GNU Affero General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 */
19 
20 #pragma once
21 
22 #include "LeosacFwd.hpp"
23 #include "WebSockFwd.hpp"
24 #include "core/audit/AuditFwd.hpp"
25 #include "tools/db/db_fwd.hpp"
26 
27 namespace Leosac
28 {
29 namespace Module
30 {
31 namespace WebSockAPI
32 {
37 {
41 
46 
48 
56 };
57 
58 
64 {
72 };
73 }
74 }
75 }
Leosac::UserSecurityContext
A SecurityContext object for users.
Definition: UserSecurityContext.hpp:31
Leosac::Module::WebSockAPI::RequestContext::dbsrv
DBServicePtr dbsrv
Definition: RequestContext.hpp:39
LeosacFwd.hpp
Leosac::Module::WebSockAPI::ClientMessage
A message sent by a client to Leosac.
Definition: Messages.hpp:54
Leosac::Audit::IAuditEntryPtr
std::shared_ptr< IAuditEntry > IAuditEntryPtr
Definition: AuditFwd.hpp:40
Leosac
This is the header file for a generated source file, GitSHA1.cpp.
Definition: APIStatusCode.hpp:22
Leosac::Module::WebSockAPI::ModuleRequestContext::audit
Audit::IAuditEntryPtr audit
Definition: RequestContext.hpp:71
Leosac::Module::WebSockAPI::RequestContext::original_msg
const ClientMessage & original_msg
The original, complete, client message object.
Definition: RequestContext.hpp:45
Leosac::DBServicePtr
std::shared_ptr< DBService > DBServicePtr
Definition: db_fwd.hpp:34
Leosac::Module::WebSockAPI::ModuleRequestContext
A request context dedicated for websocket request that are handled by other modules.
Definition: RequestContext.hpp:63
Leosac::Module::WebSockAPI::WSServer
The implementation class that runs the websocket server.
Definition: WSServer.hpp:61
Leosac::Module::WebSockAPI::RequestContext::security_ctx
SecurityContext & security_ctx
Definition: RequestContext.hpp:47
WebSockFwd.hpp
Leosac::Module::WebSockAPI::RequestContext::audit
Audit::IAuditEntryPtr audit
The initial audit trail for the request.
Definition: RequestContext.hpp:55
Leosac::Module::WebSockAPI::APIPtr
std::shared_ptr< APISession > APIPtr
Definition: WebSockFwd.hpp:33
db_fwd.hpp
Leosac::Module::WebSockAPI::RequestContext
Holds valuable pointer to provide context to a request.
Definition: RequestContext.hpp:36
Leosac::Module::WebSockAPI::RequestContext::server
WSServer & server
Definition: RequestContext.hpp:40
Leosac::Module::WebSockAPI::ModuleRequestContext::dbsrv
DBServicePtr dbsrv
Definition: RequestContext.hpp:65
AuditFwd.hpp
Leosac::SecurityContext
A SecurityContext is used to query permission while doing an operation.
Definition: SecurityContext.hpp:40
Leosac::Module::WebSockAPI::ModuleRequestContext::security_ctx
UserSecurityContext * security_ctx
The object lifetime will not expand past the current request processing.
Definition: RequestContext.hpp:70
Leosac::Module::WebSockAPI::RequestContext::session
APIPtr session
Definition: RequestContext.hpp:38