28 #ifndef AGS_ENGINE_AC_DYNOBJ_CC_DYNAMIC_OBJECT_H 29 #define AGS_ENGINE_AC_DYNOBJ_CC_DYNAMIC_OBJECT_H 31 #include "ags/lib/std/utility.h" 32 #include "ags/shared/core/types.h" 46 typedef std::pair<int32_t, void *> DynObjectRef;
59 virtual int Dispose(
const char *address,
bool force =
false) = 0;
61 virtual const char *GetType() = 0;
65 virtual int Serialize(
const char *address,
char *buffer,
int bufsize) = 0;
80 virtual const char *GetFieldPtr(
const char *address, intptr_t offset) = 0;
81 virtual void Read(
const char *address, intptr_t offset,
void *dest,
int size) = 0;
82 virtual uint8_t ReadInt8(
const char *address, intptr_t offset) = 0;
83 virtual int16_t ReadInt16(
const char *address, intptr_t offset) = 0;
84 virtual int32_t ReadInt32(
const char *address, intptr_t offset) = 0;
85 virtual float ReadFloat(
const char *address, intptr_t offset) = 0;
86 virtual void Write(
const char *address, intptr_t offset,
void *src,
int size) = 0;
87 virtual void WriteInt8(
const char *address, intptr_t offset, uint8_t val) = 0;
88 virtual void WriteInt16(
const char *address, intptr_t offset, int16_t val) = 0;
89 virtual void WriteInt32(
const char *address, intptr_t offset, int32_t val) = 0;
90 virtual void WriteFloat(
const char *address, intptr_t offset,
float val) = 0;
100 virtual void Unserialize(
int index,
const char *objectType,
const char *serializedData,
int dataSize) = 0;
105 virtual DynObjectRef CreateString(
const char *fromText) = 0;
112 extern int32_t ccRegisterManagedObject(
const void *
object,
ICCDynamicObject *,
bool plugin_object =
false);
114 extern int32_t ccRegisterUnserializedObject(
int index,
const void *
object,
ICCDynamicObject *,
bool plugin_object =
false);
116 extern int ccUnRegisterManagedObject(
const void *
object);
118 extern void ccUnregisterAllObjects();
124 extern void ccAttemptDisposeObject(int32_t handle);
126 extern int32_t ccGetObjectHandleFromAddress(
const void *address);
129 extern const char *ccGetObjectAddressFromHandle(int32_t handle);
131 extern int ccAddObjectReference(int32_t handle);
132 extern int ccReleaseObjectReference(int32_t handle);
Definition: achievements_tables.h:27
Definition: cc_dynamic_object.h:97
Definition: cc_dynamic_object.h:103
Definition: cc_dynamic_object.h:51