TrueReality  v0.1.1912
AppBase.h
Go to the documentation of this file.
1 /*
2 * True Reality Open Source Game and Simulation Engine
3 * Copyright © 2021 Acid Rain Studios LLC
4 *
5 * This library is free software; you can redistribute it and/or modify it under
6 * the terms of the GNU Lesser General Public License as published by the Free
7 * Software Foundation; either version 3.0 of the License, or (at your option)
8 * any later version.
9 *
10 * This library is distributed in the hope that it will be useful, but WITHOUT
11 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
12 * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
13 * details.
14 *
15 * You should have received a copy of the GNU Lesser General Public License
16 * along with this library; if not, write to the Free Software Foundation, Inc.,
17 * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 *
19 * @author Maxim Serebrennik
20 */
21 #pragma once
22 
23 #include "Export.h"
24 
25 #include <trBase/SmrtPtr.h>
26 #include <trBase/Base.h>
27 #include <trUtil/RefStr.h>
29 #include <trCore/SystemDirector.h>
30 
31 namespace trApp
32 {
39  {
40  public:
42 
43  const static trUtil::RefStr CLASS_TYPE;
44 
52  AppBase(const std::string& name = CLASS_TYPE);
53 
61  virtual const std::string& GetType() const override;
62 
68  virtual void Run();
69 
75  virtual void Quit();
76 
77  protected:
78 
80 
86  ~AppBase();
87 
88  private:
89 
90 
92 
93  };
94 }
A string wrapper that will make sure that all of the strings with the same value will point to the sa...
Definition: RefStr.h:50
Definition: AppBase.h:31
This is a Base class that carries the Class name and Unique ID of all the derived classes...
Definition: trBase/Base.h:36
#define TR_APP_EXPORT
Definition: trApp/Export.h:33
trBase::SmrtPtr< trCore::SystemDirector > mSysDirector
Definition: AppBase.h:91
trBase::SmrtPtr< trManager::SystemManager > mSysMan
Definition: AppBase.h:79
static const trUtil::RefStr CLASS_TYPE
Adds an easy and swappable access to the base class.
Definition: AppBase.h:43
An application base from which all other application classes should be derived.
Definition: AppBase.h:38