iw4x-client/src/Components/Loader.hpp

89 lines
2.4 KiB
C++
Raw Normal View History

2015-12-28 20:52:31 -05:00
namespace Components
{
class Component
{
public:
Component() {};
virtual ~Component() {};
2016-08-15 10:40:30 -04:00
2016-09-16 05:04:28 -04:00
#if defined(DEBUG) || defined(FORCE_UNIT_TESTS)
virtual const char* getName() { return "Unknown"; };
2016-08-15 10:40:30 -04:00
#endif
virtual bool unitTest() { return true; }; // Unit testing entry
2015-12-28 20:52:31 -05:00
};
class Loader
{
public:
static void Initialize();
static void Uninitialize();
static bool PerformUnitTests();
static bool PerformingUnitTests();
2015-12-28 20:52:31 -05:00
static void Register(Component* component);
2016-09-03 09:52:40 -04:00
static bool IsPregame();
2015-12-28 20:52:31 -05:00
private:
2016-09-03 09:52:40 -04:00
static bool Pregame;
2015-12-28 20:52:31 -05:00
static std::vector<Component*> Components;
};
}
2016-02-21 13:57:56 -05:00
#include "Modules\Auth.hpp"
2016-08-15 10:40:30 -04:00
#include "Modules\Bans.hpp"
2015-12-28 20:52:31 -05:00
#include "Modules\Dvar.hpp"
2016-08-16 14:36:52 -04:00
#include "Modules\Lean.hpp"
2015-12-28 20:52:31 -05:00
#include "Modules\Maps.hpp"
2015-12-30 18:55:08 -05:00
#include "Modules\News.hpp"
2016-01-03 18:00:07 -05:00
#include "Modules\Flags.hpp"
2015-12-28 20:52:31 -05:00
#include "Modules\Menus.hpp"
2016-06-24 08:49:46 -04:00
#include "Modules\Toast.hpp"
2016-09-18 09:10:23 -04:00
#include "Modules\Zones.hpp"
2015-12-28 20:52:31 -05:00
#include "Modules\Colors.hpp"
2016-01-11 18:48:27 -05:00
#include "Modules\D3D9Ex.hpp"
2016-05-29 10:16:15 -04:00
#include "Modules\Script.hpp"
2016-01-12 08:27:48 -05:00
#include "Modules\Weapon.hpp"
2015-12-28 20:52:31 -05:00
#include "Modules\Window.hpp"
#include "Modules\Command.hpp"
#include "Modules\Console.hpp"
#include "Modules\IPCPipe.hpp"
2016-06-08 11:28:58 -04:00
#include "Modules\ModList.hpp"
2015-12-28 20:52:31 -05:00
#include "Modules\Network.hpp"
2016-01-09 14:56:28 -05:00
#include "Modules\Theatre.hpp"
2016-01-28 10:19:43 -05:00
#include "Modules\Node.hpp"
2016-02-17 16:21:42 -05:00
#include "Modules\RCon.hpp"
2015-12-28 20:52:31 -05:00
#include "Modules\Party.hpp" // Destroys the order, but requires network classes :D
2016-09-03 09:52:40 -04:00
#include "Modules\Logger.hpp"
2016-01-08 21:21:59 -05:00
#include "Modules\Download.hpp"
2016-01-01 20:28:09 -05:00
#include "Modules\Playlist.hpp"
2015-12-28 20:52:31 -05:00
#include "Modules\RawFiles.hpp"
#include "Modules\Renderer.hpp"
#include "Modules\UIFeeder.hpp"
#include "Modules\UIScript.hpp"
2016-02-29 08:47:21 -05:00
#include "Modules\AntiCheat.hpp"
2015-12-28 20:52:31 -05:00
#include "Modules\Dedicated.hpp"
2016-01-03 13:28:47 -05:00
#include "Modules\Discovery.hpp"
2016-01-08 14:10:35 -05:00
#include "Modules\Exception.hpp"
2015-12-28 20:52:31 -05:00
#include "Modules\FastFiles.hpp"
#include "Modules\Gametypes.hpp"
2015-12-28 20:52:31 -05:00
#include "Modules\Materials.hpp"
#include "Modules\Singleton.hpp"
2016-09-03 09:52:40 -04:00
#include "Modules\BitMessage.hpp"
2015-12-28 20:52:31 -05:00
#include "Modules\FileSystem.hpp"
#include "Modules\ModelSurfs.hpp"
2016-09-05 13:55:47 -04:00
#include "Modules\PlayerName.hpp"
2015-12-28 20:52:31 -05:00
#include "Modules\QuickPatch.hpp"
2016-01-07 20:20:55 -05:00
#include "Modules\ServerInfo.hpp"
2015-12-28 20:52:31 -05:00
#include "Modules\ServerList.hpp"
#include "Modules\SlowMotion.hpp"
2016-10-26 12:57:43 -04:00
#include "Modules\ArenaLength.hpp"
2016-01-12 15:17:55 -05:00
#include "Modules\StringTable.hpp"
2016-01-04 18:49:34 -05:00
#include "Modules\ZoneBuilder.hpp"
2015-12-28 20:52:31 -05:00
#include "Modules\AssetHandler.hpp"
#include "Modules\Localization.hpp"
#include "Modules\MusicalTalent.hpp"
2016-09-03 09:52:40 -04:00
#include "Modules\MinidumpUpload.hpp"
2016-01-12 19:29:22 -05:00
#include "Modules\StructuredData.hpp"
2015-12-29 17:13:23 -05:00
#include "Modules\ConnectProtocol.hpp"