Leosac  0.8.0
Open Source Access Control
CredentialFwd.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 <odb/lazy-ptr.hxx>
24 
25 namespace Leosac
26 {
27 namespace Cred
28 {
29 
30 // Credentials
31 class ICredential;
32 using ICredentialPtr = std::shared_ptr<ICredential>;
33 
34 class Credential;
35 using CredentialId = unsigned long;
36 using CredentialPtr = std::shared_ptr<Credential>;
37 using CredentialLWPtr = odb::lazy_weak_ptr<Credential>;
38 using CredentialLPtr = odb::lazy_shared_ptr<Credential>;
39 
40 class IRFIDCard;
41 using IRFIDCardPtr = std::shared_ptr<IRFIDCard>;
42 class RFIDCard;
43 using RFIDCardPtr = std::shared_ptr<RFIDCard>;
44 
45 class IPinCode;
46 class PinCode;
47 using PinCodePtr = std::shared_ptr<PinCode>;
48 
49 class RFIDCardPin;
50 using RFIDCardPinPtr = std::shared_ptr<RFIDCardPin>;
51 }
52 }
Leosac::Cred::PinCode
A PinCode credential.
Definition: PinCode.hpp:33
Leosac::Cred::RFIDCardPin
Credentials composed of an RFIDCard and a PIN code.
Definition: RFIDCardPin.hpp:37
Leosac::Cred::RFIDCardPtr
std::shared_ptr< RFIDCard > RFIDCardPtr
Definition: CredentialFwd.hpp:43
Leosac::Cred::RFIDCard
An RFID card credential.
Definition: RFIDCard.hpp:33
Leosac::Cred::CredentialLWPtr
odb::lazy_weak_ptr< Credential > CredentialLWPtr
Definition: CredentialFwd.hpp:37
Leosac
This is the header file for a generated source file, GitSHA1.cpp.
Definition: APIStatusCode.hpp:22
Leosac::Cred::PinCodePtr
std::shared_ptr< PinCode > PinCodePtr
Definition: CredentialFwd.hpp:47
Leosac::Cred::Credential
An ODB enabled credential object.
Definition: Credential.hpp:37
Leosac::Cred::ICredentialPtr
std::shared_ptr< ICredential > ICredentialPtr
Definition: CredentialFwd.hpp:32
Leosac::Cred::CredentialId
unsigned long CredentialId
Definition: CredentialFwd.hpp:35
Leosac::Cred::CredentialLPtr
odb::lazy_shared_ptr< Credential > CredentialLPtr
Definition: CredentialFwd.hpp:38
Leosac::Cred::IRFIDCardPtr
std::shared_ptr< IRFIDCard > IRFIDCardPtr
Definition: CredentialFwd.hpp:41
Leosac::Cred::RFIDCardPinPtr
std::shared_ptr< RFIDCardPin > RFIDCardPinPtr
Definition: CredentialFwd.hpp:50
Leosac::Cred::IPinCode
Interface for PinCode credentials.
Definition: IPinCode.hpp:32
Leosac::Cred::IRFIDCard
Interface for RFIDCard credential.
Definition: IRFIDCard.hpp:32
Leosac::Cred::CredentialPtr
std::shared_ptr< Credential > CredentialPtr
Definition: CredentialFwd.hpp:36