My Project
|
base class for object, such as CBaseObject, IAttributeObject, GUI object. More...
#include <PERef.h>
Public Types | |
typedef ParaEngine::weak_ptr< IObject > | WeakPtr_type |
Public Member Functions | |
virtual void | Clone (IObject *obj) const |
Clone the object's contains to a pointer. More... | |
virtual IObject * | Clone () const |
Clone the object's contains and return a pointer to the newly created object. More... | |
virtual bool | Equals (const IObject *obj) const |
Compare the object with another object. More... | |
virtual const IType * | GetType () const |
virtual std::string | ToString () const |
WeakPtr_type & | GetWeakReference () |
get weak reference object. More... | |
virtual int | ProcessObjectEvent (const ObjectEvent &event) |
this function is only used to backward compatibility of ParaObject:AddEvent() function. More... | |
![]() | |
void | addref () const |
add reference count of the object. More... | |
bool | delref () const |
decrease reference count of the object. More... | |
int | GetRefCount () const |
get the reference count | |
virtual int | Release () |
CRefCounted * | AddToAutoReleasePool () |
addref and releases the ownership sometime soon automatically (usually at the end of the current frame). More... | |
Protected Attributes | |
WeakPtr_type | m_weak_reference |
![]() | |
int | m_refcount |
base class for object, such as CBaseObject, IAttributeObject, GUI object.
this class support weak reference
|
virtual |
Clone the object's contains to a pointer.
The caller should allocate the memory and pass the pointer to this function.. Inheritance should implement this function void Clone(IObject*) and IObject* Clone() should have the same behavior In some cases, if you want to avoid Dead Reference( one object is being referred to by many objects and you can't update all the references). It is possible to use this function to replace the contains at a given pointer. But this may result in memory leak if you do not implement this function carefully or misuse it.
Reimplemented in ParaEngine::CDataString, ParaEngine::CDataDouble, ParaEngine::CDataFloat, ParaEngine::CGUIResource, ParaEngine::CDataBool, ParaEngine::CGUIContainer, ParaEngine::CDataInt32, ParaEngine::CGUIEvent, ParaEngine::CDataRow, ParaEngine::CGUIEditBox, ParaEngine::CGUIListBox, ParaEngine::CGUIScrollBar, ParaEngine::CGUIWebBrowser, ParaEngine::CEventBinding, ParaEngine::CGUIText, ParaEngine::CGUINStageAnimation, ParaEngine::CDataCellItem, ParaEngine::CGUI4OutsideArrow, ParaEngine::CGUIButton, ParaEngine::CGUICanvas, ParaEngine::CBaseRowColumn, ParaEngine::CDataColumnInfo, and ParaEngine::CGUISlider.
|
virtual |
Clone the object's contains and return a pointer to the newly created object.
The caller should free the memory of the return object. Inheritance should implement this function void Clone(IObject*) and IObject* Clone() should have the same behavior
Reimplemented in ParaEngine::CDataString, ParaEngine::CDataDouble, ParaEngine::CDataFloat, ParaEngine::CGUIResource, ParaEngine::CDataBool, ParaEngine::CGUIContainer, ParaEngine::CDataInt32, ParaEngine::CGUIEvent, ParaEngine::CDataRow, ParaEngine::CGUIEditBox, ParaEngine::CGUIListBox, ParaEngine::CGUIScrollBar, ParaEngine::CGUIWebBrowser, ParaEngine::CEventBinding, ParaEngine::CGUIText, ParaEngine::CGUINStageAnimation, ParaEngine::CDataCellItem, ParaEngine::CGUI4OutsideArrow, ParaEngine::CGUIButton, ParaEngine::CGUICanvas, ParaEngine::CBaseRowColumn, ParaEngine::CDataColumnInfo, and ParaEngine::CGUISlider.
|
virtual |
Compare the object with another object.
Inheritance should implement this function
Reimplemented in ParaEngine::CGUIResource, ParaEngine::CGUIEvent, ParaEngine::CEventBinding, and ParaEngine::CBaseRowColumn.
IObject::WeakPtr_type & IObject::GetWeakReference | ( | ) |
get weak reference object.
|
inlinevirtual |
this function is only used to backward compatibility of ParaObject:AddEvent() function.
Reimplemented in ParaEngine::CBipedObject.