/** * @file PaiVirtualObject.cpp */ #include "PaiVirtualObject.h" // IMPLEMENT_PAI_OBJECT(PaiVirtualObject) namespace pai { namespace objectmodel { // 从-10001开始,-1 ~ -10000预留 long long PaiVirtualObject::m_VirtualDBIDCounter = -10000; PaiVirtualObject::PaiVirtualObject(PaiObject *pParent) : PaiObject(pParent) { SetDBID(GenerateVirtualDBID()); SetIgnoreSyncDB(true); } PaiVirtualObject::~PaiVirtualObject() { } long long PaiVirtualObject::GetParentDBID() const { PaiObject *pParent = GetParent(); if(pParent) { return pParent->GetDBID(); } return 0; } bool PaiVirtualObject::Load(const long long /*dbid*/) { return true; // 虚拟对象无需加载 } void PaiVirtualObject::Clone(const PaiObject & /*srcObject*/) { // 虚对象一般不许克隆,这里给出提示 // throw pai::error::io_error("Please define [Clone] function in derived class when you need!"); } long long PaiVirtualObject::GenerateVirtualDBID() { return --m_VirtualDBIDCounter; } } }