28#ifndef WINTERMUTE_SYSCLASSREGISTRY_H
29#define WINTERMUTE_SYSCLASSREGISTRY_H
31#include "engines/wintermute/wintypes.h"
32#include "engines/wintermute/dctypes.h"
33#include "engines/wintermute/system/sys_class.h"
34#include "common/hashmap.h"
35#include "common/hash-str.h"
36#include "common/func.h"
37#include "common/stream.h"
44template<
typename T>
struct Hash;
45template<>
struct Hash<Wintermute::SystemClass *> :
public UnaryFunction<Wintermute::SystemClass *, uint> {
47 return (uint)((size_t)val);
56class BasePersistenceManager;
60 void unregisterClasses();
62 void registerClasses();
64 void register3DClasses();
68 bool enumInstances(SYS_INSTANCE_CALLBACK lpCallback,
const char *className,
void *lpData);
73 void *idToPointer(
int classID,
int instanceId);
74 bool getPointerID(
void *pointer,
int *classId,
int *instanceId);
77 bool registerInstance(
const char *className,
void *instance);
78 bool unregisterInstance(
const char *className,
void *instance);
Definition: base_game.h:79
Definition: base_persistence_manager.h:43
Definition: sys_class.h:65
Definition: sys_class_registry.h:59
Definition: sys_instance.h:35
Definition: algorithm.h:29