Seperate dependent package include files for different architectures. Speed up build.
[fltk_mvc_template.git] / _template / src / ControllerIF.h
1 ///////////////////////////////////////////////////////////////////////////
2 // Workfile: Chapter.h
3 // Author: Daniel Giritzer <daniel@giritzer.eu>
4 // Date:
5 // Description: Interface für die Controller Klasse.
6 // Remarks: Dieses Interface definiert alle von einem View
7 //          benötigten Funktionen.
8 ///////////////////////////////////////////////////////////////////////////
9 #ifndef CONTROLLERIF_H_INCLUDED
10 #define CONTROLLERIF_H_INCLUDED
11
12 #include <memory>
13 #include "Object.h"
14
15 /////////////////////////////////////////////////
16 /// \brief Interface für die Controller Klasse.
17 ///        Dieses Interface definiert alle von einem View
18 ///        benötigten Funktionen.
19 /////////////////////////////////////////////////
20 class ControllerIF : public Object
21 {
22 public:
23
24     /////////////////////////////////////////////////
25     /// \brief Wirft eine std::string eine Exception.
26     /////////////////////////////////////////////////
27     virtual void throwException() = 0;
28
29     /////////////////////////////////////////////////
30     /// \brief Typedef für einen shared Pointer auf
31     ///        ein Objekt dieser Klasse oder deren
32     ///        Implementierung.
33     /////////////////////////////////////////////////
34     using SPtr = std::shared_ptr<ControllerIF>;
35
36 protected:
37     ControllerIF() = default;
38 };
39 #endif // CONTROLLERIF_H_INCLUDED