orwell 0.0.0
ReferenceController.hxx
1/*
2 Copyright (c) Tobias Löw
3 Written by Tobias Löw <https://tobiloew.ch>
4
5 This file is part of orwell.
6
7 gafro is free software: you can redistribute it and/or modify
8 it under the terms of the GNU General Public License version 3 as
9 published by the Free Software Foundation.
10
11 gafro 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 General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with gafro. If not, see <http://www.gnu.org/licenses/>.
18*/
19
20#pragma once
21
22#include <orwell/ReferenceController.hpp>
23
24namespace orwell
25{
26
27 template <class Reference, class DerivedController>
28 ReferenceController<Reference, DerivedController>::ReferenceController(const sackmesser::Interface::Ptr &interface, const std::string &name)
29 : DerivedController(interface, name)
30 {}
31
32 template <class Reference, class DerivedController>
34
35 template <class Reference, class DerivedController>
37 {
38 reference_ = reference;
39 }
40
41 template <class Reference, class DerivedController>
43 {
44 return reference_;
45 }
46
47} // namespace orwell
base implementation of a Controller tracking a given Reference
const Reference & getReference() const
provide access to the Reference to derived classes
void setReference(const Reference &reference)
set Reference
ReferenceController(const sackmesser::Interface::Ptr &interface, const std::string &name)