2#include <Cyrus/shared.h>
32 virtual void performDelete();
50 virtual size_t isSame(
void *other) = 0;
99 virtual void initialize() = 0;
108 virtual void *destructor(
bool freeThis) = 0;
132 virtual bool copy(uint32_t a1) = 0;
156 template <
typename T> CYRUS T *
as() {
return static_cast<T *
>(
this); }
159 virtual void unknown_override() = 0;
160 virtual void unknown_override1() = 0;
161 virtual void unknown_override2() = 0;
182 virtual bool noClue(
void *a2, uint32_t a3) = 0;
185 "PropertyClass size is not correct");
Base class for all property classes, providing reflection and serialization functionality.
Definition PropertyClass.h:86
virtual void onFinalizeLoad()=0
virtual char * getClassName()=0
Gets the class name of the derived class in the format class T[*].
virtual bool shouldNotSerialize()=0
Determines if the PropertyClass should not be serialized.
virtual void * getPropertyList()=0
Constructs and caches the PropertyList for the derived class, adding all reflected members and member...
CYRUS T * as()
Casts this to a pointer of type T.
Definition PropertyClass.h:156
virtual void * serialize(void *a2, uint32_t a3)=0
Serializes the derived class's PropertyList as XML.
virtual void onPostLoad()=0
Called when the PropertyClass is loaded, i.e., initialize is called and onCreated has finished.
virtual bool copy(uint32_t a1)=0
Copies the property class data.
virtual bool onCreated()=0
Called when the PropertyClass is created.
Manages shared and weak references to an object and provides deletion management.
Definition PropertyClass.h:12
T * getObject()
Gets the managed object.
Definition PropertyClass.h:71
virtual size_t isSame(void *other)=0
Compares the typeID of other to the compile-time type ID of this.
int getWeakRefCount()
Gets the weak reference count.
Definition PropertyClass.h:64
size_t getTypeID()
Gets the type identifier of the managed object.
Definition PropertyClass.h:78
int getSharedRefCount()
Gets the shared reference count.
Definition PropertyClass.h:57