Leosac
0.8.0
Open Source Access Control
MultiplexedSession.cpp
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
#include "
MultiplexedSession.hpp
"
21
22
using namespace
Leosac
;
23
using namespace
Leosac::db
;
24
25
26
MultiplexedSession::MultiplexedSession
()
27
: previous_(
odb
::session::current_pointer())
28
{
29
if
(
previous_
)
30
{
31
odb::session::reset_current();
32
}
33
session_
= std::make_unique<odb::session>();
34
}
35
36
MultiplexedSession::~MultiplexedSession
()
37
{
38
session_
.reset();
39
if
(
previous_
)
40
{
41
// set back the session we found when we took over.
42
odb::session::current(*
previous_
);
43
}
44
}
odb
Provide ODB magic to be able to store an Leosac::Audit::EventType (FlagSet) object.
Definition:
AuditEventMaskODB.hpp:31
Leosac::db::MultiplexedSession::previous_
odb::session * previous_
Definition:
MultiplexedSession.hpp:47
Leosac
This is the header file for a generated source file, GitSHA1.cpp.
Definition:
APIStatusCode.hpp:22
Leosac::db::MultiplexedSession::~MultiplexedSession
~MultiplexedSession()
Definition:
MultiplexedSession.cpp:36
Leosac::db::MultiplexedSession::session_
std::unique_ptr< odb::session > session_
Definition:
MultiplexedSession.hpp:46
Leosac::db
Definition:
DatabaseTracer.hpp:28
MultiplexedSession.hpp
Leosac::db::MultiplexedSession::MultiplexedSession
MultiplexedSession()
Definition:
MultiplexedSession.cpp:26
src
tools
db
MultiplexedSession.cpp
Generated on Tue Mar 22 2022 10:48:31 for Leosac by
1.8.17