ResidualVM logo ResidualVM website - Forums - Contact us BuildBot - Doxygen - Wiki curved edge

services.h

Go to the documentation of this file.
00001 /* ResidualVM - A 3D game interpreter
00002  *
00003  * ResidualVM is the legal property of its developers, whose names
00004  * are too numerous to list here. Please refer to the AUTHORS
00005  * file distributed with this source distribution.
00006  *
00007  * This program is free software; you can redistribute it and/or
00008  * modify it under the terms of the GNU General Public License
00009  * as published by the Free Software Foundation; either version 2
00010  * of the License, or (at your option) any later version.
00011  *
00012  * This program is distributed in the hope that it will be useful,
00013  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00014  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00015  * GNU General Public License for more details.
00016  *
00017  * You should have received a copy of the GNU General Public License
00018  * along with this program; if not, write to the Free Software
00019  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
00020  *
00021  */
00022 
00023 #ifndef STARK_SERVICES_SERVICES_H
00024 #define STARK_SERVICES_SERVICES_H
00025 
00026 #include "common/singleton.h"
00027 #include "common/scummsys.h"
00028 
00029 namespace Common {
00030 class RandomSource;
00031 }
00032 
00033 namespace Stark {
00034 
00035 namespace Gfx {
00036 class Driver;
00037 }
00038 
00039 class ArchiveLoader;
00040 class DialogPlayer;
00041 class Diary;
00042 class FontProvider;
00043 class GameInterface;
00044 class Global;
00045 class ResourceProvider;
00046 class StaticProvider;
00047 class Scene;
00048 class UserInterface;
00049 class Settings;
00050 class StateProvider;
00051 class GameChapter;
00052 class GameMessage;
00053 
00057 class StarkServices : public Common::Singleton<StarkServices> {
00058 public:
00059     StarkServices() {
00060         archiveLoader = nullptr;
00061         dialogPlayer = nullptr;
00062         diary = nullptr;
00063         gfx = nullptr;
00064         global = nullptr;
00065         resourceProvider = nullptr;
00066         randomSource = nullptr;
00067         scene = nullptr;
00068         staticProvider = nullptr;
00069         gameInterface = nullptr;
00070         userInterface = nullptr;
00071         fontProvider = nullptr;
00072         settings = nullptr;
00073         gameChapter = nullptr;
00074         gameMessage = nullptr;
00075         stateProvider = nullptr;
00076     }
00077 
00078     ArchiveLoader *archiveLoader;
00079     DialogPlayer *dialogPlayer;
00080     Diary *diary;
00081     Gfx::Driver *gfx;
00082     Global *global;
00083     ResourceProvider *resourceProvider;
00084     Common::RandomSource *randomSource;
00085     Scene *scene;
00086     StaticProvider *staticProvider;
00087     GameInterface *gameInterface;
00088     UserInterface *userInterface;
00089     FontProvider *fontProvider;
00090     Settings *settings;
00091     GameChapter *gameChapter;
00092     GameMessage *gameMessage;
00093     StateProvider *stateProvider;
00094 };
00095 
00097 #define StarkArchiveLoader      StarkServices::instance().archiveLoader
00098 #define StarkDialogPlayer       StarkServices::instance().dialogPlayer
00099 #define StarkDiary              StarkServices::instance().diary
00100 #define StarkGfx                StarkServices::instance().gfx
00101 #define StarkGlobal             StarkServices::instance().global
00102 #define StarkResourceProvider   StarkServices::instance().resourceProvider
00103 #define StarkRandomSource       StarkServices::instance().randomSource
00104 #define StarkScene              StarkServices::instance().scene
00105 #define StarkStaticProvider     StarkServices::instance().staticProvider
00106 #define StarkGameInterface      StarkServices::instance().gameInterface
00107 #define StarkUserInterface      StarkServices::instance().userInterface
00108 #define StarkFontProvider       StarkServices::instance().fontProvider
00109 #define StarkSettings           StarkServices::instance().settings
00110 #define StarkGameChapter        StarkServices::instance().gameChapter
00111 #define StarkGameMessage        StarkServices::instance().gameMessage
00112 #define StarkStateProvider      StarkServices::instance().stateProvider
00113 
00114 } // End of namespace Stark
00115 
00116 #endif // STARK_SERVICES_SERVICES_H


Generated on Sat Feb 16 2019 05:01:03 for ResidualVM by doxygen 1.7.1
curved edge   curved edge