summaryrefslogtreecommitdiff
path: root/Runtime/BaseClasses/ClassRegistration.h
blob: cf016dbff1e43b68eb4fb00b2ae6411b53b46e19 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#pragma once
#include "ClassIDs.h"

struct ClassRegistrationContext
{
	void* explicitlyRegistered;
};

#if DEBUGMODE
#define REGISTER_CLASS(x) \
{ \
	extern void RegisterClass_##x(); \
	RegisterClass_##x(); \
	ValidateRegisteredClassID(context, ClassID(x), #x); \
}
#else
#define REGISTER_CLASS(x) \
{ extern void RegisterClass_##x(); RegisterClass_##x(); }
#endif


EXPORT_COREMODULE void ValidateRegisteredClassID (ClassRegistrationContext& context, int classID, const char* className);