Leosac  0.8.0
Open Source Access Control
ToolsFwd.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 #include <memory>
22 #include <odb/lazy-ptr.hxx>
23 
24 namespace Leosac
25 {
26 
27 namespace Tools
28 {
29 struct SingleTimeFrame;
30 
31 class Schedule;
32 using SchedulePtr = std::shared_ptr<Schedule>;
33 using ScheduleId = unsigned long;
34 using ScheduleLWPtr = odb::lazy_weak_ptr<Schedule>;
35 
36 class ISchedule;
37 using ISchedulePtr = std::shared_ptr<ISchedule>;
38 using IScheduleCPtr = std::shared_ptr<const ISchedule>;
39 
40 class ScheduleMapping;
41 using ScheduleMappingPtr = std::shared_ptr<ScheduleMapping>;
42 using ScheduleMappingLPtr = odb::lazy_shared_ptr<ScheduleMapping>;
43 using ScheduleMappingLWPtr = odb::lazy_weak_ptr<ScheduleMapping>;
44 using ScheduleMappingId = unsigned long;
45 }
46 
47 struct MailInfo;
48 }
Leosac::Tools::ScheduleMapping
Represent one of the mapping of a schedule.
Definition: ScheduleMapping.hpp:37
Leosac::Tools::ISchedulePtr
std::shared_ptr< ISchedule > ISchedulePtr
Definition: ToolsFwd.hpp:37
Leosac::Tools::ScheduleMappingLPtr
odb::lazy_shared_ptr< ScheduleMapping > ScheduleMappingLPtr
Definition: ToolsFwd.hpp:42
Leosac::Tools::ScheduleMappingPtr
std::shared_ptr< ScheduleMapping > ScheduleMappingPtr
Definition: ToolsFwd.hpp:41
Leosac::Tools::ScheduleMappingLWPtr
odb::lazy_weak_ptr< ScheduleMapping > ScheduleMappingLWPtr
Definition: ToolsFwd.hpp:43
Leosac::Tools::SchedulePtr
std::shared_ptr< Schedule > SchedulePtr
Definition: ToolsFwd.hpp:32
Leosac::MailInfo
Definition: Mail.hpp:30
Leosac
This is the header file for a generated source file, GitSHA1.cpp.
Definition: APIStatusCode.hpp:22
Leosac::Tools::IScheduleCPtr
std::shared_ptr< const ISchedule > IScheduleCPtr
Definition: ToolsFwd.hpp:38
Leosac::Tools::ScheduleId
unsigned long ScheduleId
Definition: ToolsFwd.hpp:33
Leosac::Tools::ScheduleLWPtr
odb::lazy_weak_ptr< Schedule > ScheduleLWPtr
Definition: ToolsFwd.hpp:34
Leosac::Tools::ScheduleMappingId
unsigned long ScheduleMappingId
Definition: ToolsFwd.hpp:44
Leosac::Tools::ISchedule
Definition: ISchedule.hpp:38
Leosac::Tools::SingleTimeFrame
This struct abstracts what we call a single time frame.
Definition: SingleTimeFrame.hpp:38