28#ifndef WINTERMUTE_SYSCLASS_H
29#define WINTERMUTE_SYSCLASS_H
31#include "engines/wintermute/persistent.h"
32#include "engines/wintermute/dctypes.h"
33#include "common/hashmap.h"
34#include "common/func.h"
35#include "common/stream.h"
40class BasePersistenceManager;
46template<
typename T>
struct Hash;
49 uint operator()(
void *val)
const {
50 return (uint)((size_t)val);
54template<>
struct Hash<Wintermute::SystemInstance *> :
public UnaryFunction<Wintermute::SystemInstance *, uint> {
56 return (uint)((size_t)val);
70 int getNumInstances();
71 bool removeInstance(
void *instance);
72 SystemInstance *addInstance(
void *instance,
int id,
int savedId = -1);
73 bool removeAllInstances();
75 int getInstanceId(
void *pointer);
76 void *idToPointer(
int savedId);
85 int getSavedId()
const {
89 bool isPersistent()
const {
103 void instanceCallback(SYS_INSTANCE_CALLBACK lpCallback,
void *lpData);
105 void resetSavedIDs();
Definition: base_game.h:79
Definition: base_persistence_manager.h:43
Definition: sys_class.h:65
Definition: sys_instance.h:35
Definition: algorithm.h:29