XNSim/XNCore/XNObject.cpp

46 lines
792 B
C++
Raw Permalink Normal View History

2025-04-28 12:25:20 +08:00
#include "XNObject.h"
#include "XNObject_p.h"
2025-05-20 15:39:40 +08:00
XNObject::XNObject() : _Private_Ptr(new XNObjectPrivate())
2025-04-28 12:25:20 +08:00
{
2025-05-20 15:39:40 +08:00
_Private_Ptr->_Public_Ptr = this;
2025-04-28 12:25:20 +08:00
}
2025-05-20 15:39:40 +08:00
XNObject::XNObject(PrivateType *p) : _Private_Ptr(p)
2025-04-28 12:25:20 +08:00
{
2025-05-20 15:39:40 +08:00
_Private_Ptr->_Public_Ptr = this;
2025-04-28 12:25:20 +08:00
}
XNObject::~XNObject()
{
2025-05-20 15:39:40 +08:00
if (_Private_Ptr) {
delete _Private_Ptr;
}
_Private_Ptr = nullptr;
2025-04-28 12:25:20 +08:00
}
2025-05-20 15:39:40 +08:00
XNObjectPrivate::~XNObjectPrivate()
2025-04-28 12:25:20 +08:00
{
2025-05-20 15:39:40 +08:00
_Public_Ptr = nullptr;
2025-04-28 12:25:20 +08:00
}
2025-05-20 15:39:40 +08:00
uint32_t XNObject::GetUniqueId()
2025-04-28 12:25:20 +08:00
{
2025-05-20 15:39:40 +08:00
return _Private_Ptr->uUniqueID;
}
void XNObject::SetUniqueId(const uint32_t &uniqueId)
{
_Private_Ptr->uUniqueID = uniqueId;
}
const std::string &XNObject::GetObjectName()
{
return _Private_Ptr->sObjectName;
}
void XNObject::SetObjectName(const std::string &name)
{
_Private_Ptr->sObjectName = name;
2025-04-28 12:25:20 +08:00
}