Leosac  0.8.0
Open Source Access Control
LeosacFwd.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 <memory>
23 #include <vector>
24 
25 namespace Leosac
26 {
27 class Kernel;
28 class Scheduler;
29 class ConfigChecker;
30 
31 using SchedulerPtr = std::shared_ptr<Scheduler>;
32 using ConfigCheckerPtr = std::shared_ptr<ConfigChecker>;
33 
34 class CoreUtils;
35 using CoreUtilsPtr = std::shared_ptr<CoreUtils>;
36 
37 using ByteVector = std::vector<uint8_t>;
38 
39 class SecurityContext;
41 
42 namespace Tasks
43 {
44 class Task;
45 using TaskPtr = std::shared_ptr<Task>;
46 
47 class SyncConfig;
48 using SyncConfigPtr = std::shared_ptr<SyncConfig>;
49 
50 class FetchRemoteConfig;
51 using FetchRemoteConfigPtr = std::shared_ptr<FetchRemoteConfig>;
52 }
53 
59 struct TestAccess
60 {
61  template <typename T, typename IdT>
62  static void set_id(T &obj, IdT id)
63  {
64  obj.id_ = id;
65  }
66 };
67 }
Leosac::TestAccess::set_id
static void set_id(T &obj, IdT id)
Definition: LeosacFwd.hpp:62
Leosac::Tasks::SyncConfig
Sync the configuration using the configuration fetched from the master server.
Definition: SyncConfig.hpp:36
Leosac::UserSecurityContext
A SecurityContext object for users.
Definition: UserSecurityContext.hpp:31
Leosac::ConfigCheckerPtr
std::shared_ptr< ConfigChecker > ConfigCheckerPtr
Definition: LeosacFwd.hpp:32
Leosac
This is the header file for a generated source file, GitSHA1.cpp.
Definition: APIStatusCode.hpp:22
Leosac::ByteVector
std::vector< uint8_t > ByteVector
Definition: LeosacFwd.hpp:37
Leosac::CoreUtils
This class is part of Leosac::Kernel, but it only exposes thread-safe functionalities that may be use...
Definition: CoreUtils.hpp:43
Leosac::TestAccess
This is class that can be used to access some object's internal.
Definition: LeosacFwd.hpp:59
Leosac::Tasks::TaskPtr
std::shared_ptr< Task > TaskPtr
Definition: LeosacFwd.hpp:45
Leosac::SchedulerPtr
std::shared_ptr< Scheduler > SchedulerPtr
Definition: LeosacFwd.hpp:31
Leosac::Tasks::SyncConfigPtr
std::shared_ptr< SyncConfig > SyncConfigPtr
Definition: LeosacFwd.hpp:48
Leosac::Tasks::FetchRemoteConfigPtr
std::shared_ptr< FetchRemoteConfig > FetchRemoteConfigPtr
Definition: LeosacFwd.hpp:51
Leosac::CoreUtilsPtr
std::shared_ptr< CoreUtils > CoreUtilsPtr
Definition: LeosacFwd.hpp:35
Leosac::SecurityContext
A SecurityContext is used to query permission while doing an operation.
Definition: SecurityContext.hpp:40
Leosac::Tasks::FetchRemoteConfig
Fetch the configuration from master server.
Definition: FetchRemoteConfig.hpp:35