mirror of
https://foundry.openuru.org/gitblit/r/CWE-ou-minkata.git
synced 2025-07-18 11:19:10 +00:00
Provide an easier/safer way to manage hsRefCnt subclasses
This commit is contained in:
@ -87,4 +87,60 @@ public:
|
|||||||
void TransferRef(const char* oldTag, const char* newTag);
|
void TransferRef(const char* oldTag, const char* newTag);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
template <class _Ref>
|
||||||
|
class hsRef
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
hsRef() : fObj(nullptr) { }
|
||||||
|
hsRef(nullptr_t) : fObj(nullptr) { }
|
||||||
|
hsRef(_Ref *obj) : fObj(obj) { if (fObj) fObj->Ref(); }
|
||||||
|
hsRef(const hsRef<_Ref> ©) : fObj(copy.fObj) { if (fObj) fObj->Ref(); }
|
||||||
|
hsRef(hsRef<_Ref> &&move) : fObj(move.fObj) { move.fObj = nullptr; }
|
||||||
|
|
||||||
|
~hsRef() { if (fObj) fObj->UnRef(); }
|
||||||
|
|
||||||
|
hsRef<_Ref> &operator=(_Ref *obj)
|
||||||
|
{
|
||||||
|
if (obj)
|
||||||
|
obj->Ref();
|
||||||
|
if (fObj)
|
||||||
|
fObj->UnRef();
|
||||||
|
fObj = obj;
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
hsRef<_Ref> &operator=(const hsRef<_Ref> ©) { return operator=(copy.fObj); }
|
||||||
|
|
||||||
|
hsRef<_Ref> &operator=(hsRef<_Ref> &&move)
|
||||||
|
{
|
||||||
|
if (fObj)
|
||||||
|
fObj->UnRef();
|
||||||
|
fObj = move.fObj;
|
||||||
|
move.fObj = nullptr;
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
hsRef<_Ref> &operator=(nullptr_t)
|
||||||
|
{
|
||||||
|
if (fObj)
|
||||||
|
fObj->UnRef();
|
||||||
|
fObj = nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool operator==(const hsRef<_Ref> &other) const { return fObj == other.fObj; }
|
||||||
|
bool operator!=(const hsRef<_Ref> &other) const { return fObj != other.fObj; }
|
||||||
|
bool operator> (const hsRef<_Ref> &other) const { return fObj > other.fObj; }
|
||||||
|
bool operator< (const hsRef<_Ref> &other) const { return fObj < other.fObj; }
|
||||||
|
bool operator>=(const hsRef<_Ref> &other) const { return fObj >= other.fObj; }
|
||||||
|
bool operator<=(const hsRef<_Ref> &other) const { return fObj <= other.fObj; }
|
||||||
|
bool operator==(_Ref *other) const { return fObj == other; }
|
||||||
|
bool operator!=(_Ref *other) const { return fObj != other; }
|
||||||
|
|
||||||
|
_Ref &operator*() const { return *fObj; }
|
||||||
|
_Ref *const operator->() const { return fObj; }
|
||||||
|
operator _Ref *const() const { return fObj; }
|
||||||
|
|
||||||
|
private:
|
||||||
|
_Ref *fObj;
|
||||||
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -89,7 +89,7 @@ struct DeviceInbox : CHashKeyStr {
|
|||||||
// or stored in an IRelVaultNode's parents or children table.
|
// or stored in an IRelVaultNode's parents or children table.
|
||||||
struct RelVaultNodeLink : THashKeyVal<unsigned> {
|
struct RelVaultNodeLink : THashKeyVal<unsigned> {
|
||||||
HASHLINK(RelVaultNodeLink) link;
|
HASHLINK(RelVaultNodeLink) link;
|
||||||
RelVaultNode * const node;
|
hsRef<RelVaultNode> node;
|
||||||
unsigned ownerId;
|
unsigned ownerId;
|
||||||
bool seen;
|
bool seen;
|
||||||
|
|
||||||
@ -99,10 +99,6 @@ struct RelVaultNodeLink : THashKeyVal<unsigned> {
|
|||||||
, ownerId(ownerId)
|
, ownerId(ownerId)
|
||||||
, seen(seen)
|
, seen(seen)
|
||||||
{
|
{
|
||||||
node->Ref();
|
|
||||||
}
|
|
||||||
~RelVaultNodeLink () {
|
|
||||||
node->UnRef();
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -456,8 +452,7 @@ static void FetchRefOwners (
|
|||||||
ownerIds.Add(ownerId);
|
ownerIds.Add(ownerId);
|
||||||
}
|
}
|
||||||
QSORT(unsigned, ownerIds.Ptr(), ownerIds.Count(), elem1 < elem2);
|
QSORT(unsigned, ownerIds.Ptr(), ownerIds.Count(), elem1 < elem2);
|
||||||
RelVaultNode * templateNode = new RelVaultNode;
|
hsRef<RelVaultNode> templateNode = new RelVaultNode;
|
||||||
templateNode->Ref();
|
|
||||||
templateNode->SetNodeType(plVault::kNodeType_PlayerInfo);
|
templateNode->SetNodeType(plVault::kNodeType_PlayerInfo);
|
||||||
{ unsigned prevId = 0;
|
{ unsigned prevId = 0;
|
||||||
for (unsigned i = 0; i < ownerIds.Count(); ++i) {
|
for (unsigned i = 0; i < ownerIds.Count(); ++i) {
|
||||||
@ -477,7 +472,6 @@ static void FetchRefOwners (
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
templateNode->UnRef();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//============================================================================
|
//============================================================================
|
||||||
@ -1269,12 +1263,9 @@ RelVaultNode * RelVaultNode::GetChildNodeIncRef (
|
|||||||
unsigned nodeType,
|
unsigned nodeType,
|
||||||
unsigned maxDepth
|
unsigned maxDepth
|
||||||
) {
|
) {
|
||||||
NetVaultNode * templateNode = new NetVaultNode;
|
hsRef<NetVaultNode> templateNode = new NetVaultNode;
|
||||||
templateNode->Ref();
|
|
||||||
templateNode->SetNodeType(nodeType);
|
templateNode->SetNodeType(nodeType);
|
||||||
RelVaultNode * result = GetChildNodeIncRef(templateNode, maxDepth);
|
return GetChildNodeIncRef(templateNode, maxDepth);
|
||||||
templateNode->UnRef();
|
|
||||||
return result;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//============================================================================
|
//============================================================================
|
||||||
@ -1282,14 +1273,11 @@ RelVaultNode * RelVaultNode::GetChildFolderNodeIncRef (
|
|||||||
unsigned folderType,
|
unsigned folderType,
|
||||||
unsigned maxDepth
|
unsigned maxDepth
|
||||||
) {
|
) {
|
||||||
NetVaultNode * templateNode = new NetVaultNode;
|
hsRef<NetVaultNode> templateNode = new NetVaultNode;
|
||||||
templateNode->Ref();
|
|
||||||
templateNode->SetNodeType(plVault::kNodeType_Folder);
|
templateNode->SetNodeType(plVault::kNodeType_Folder);
|
||||||
VaultFolderNode folder(templateNode);
|
VaultFolderNode folder(templateNode);
|
||||||
folder.SetFolderType(folderType);
|
folder.SetFolderType(folderType);
|
||||||
RelVaultNode * result = GetChildNodeIncRef(templateNode, maxDepth);
|
return GetChildNodeIncRef(templateNode, maxDepth);
|
||||||
templateNode->UnRef();
|
|
||||||
return result;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//============================================================================
|
//============================================================================
|
||||||
@ -1297,14 +1285,11 @@ RelVaultNode * RelVaultNode::GetChildPlayerInfoListNodeIncRef (
|
|||||||
unsigned folderType,
|
unsigned folderType,
|
||||||
unsigned maxDepth
|
unsigned maxDepth
|
||||||
) {
|
) {
|
||||||
NetVaultNode * templateNode = new NetVaultNode;
|
hsRef<NetVaultNode> templateNode = new NetVaultNode;
|
||||||
templateNode->Ref();
|
|
||||||
templateNode->SetNodeType(plVault::kNodeType_PlayerInfoList);
|
templateNode->SetNodeType(plVault::kNodeType_PlayerInfoList);
|
||||||
VaultPlayerInfoListNode access(templateNode);
|
VaultPlayerInfoListNode access(templateNode);
|
||||||
access.SetFolderType(folderType);
|
access.SetFolderType(folderType);
|
||||||
RelVaultNode * result = GetChildNodeIncRef(templateNode, maxDepth);
|
return GetChildNodeIncRef(templateNode, maxDepth);
|
||||||
templateNode->UnRef();
|
|
||||||
return result;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//============================================================================
|
//============================================================================
|
||||||
@ -1312,13 +1297,11 @@ RelVaultNode * RelVaultNode::GetChildAgeInfoListNodeIncRef (
|
|||||||
unsigned folderType,
|
unsigned folderType,
|
||||||
unsigned maxDepth
|
unsigned maxDepth
|
||||||
) {
|
) {
|
||||||
NetVaultNode * templateNode = new NetVaultNode;
|
hsRef<NetVaultNode> templateNode = new NetVaultNode;
|
||||||
templateNode->Ref();
|
|
||||||
templateNode->SetNodeType(plVault::kNodeType_AgeInfoList);
|
templateNode->SetNodeType(plVault::kNodeType_AgeInfoList);
|
||||||
VaultAgeInfoListNode access(templateNode);
|
VaultAgeInfoListNode access(templateNode);
|
||||||
access.SetFolderType(folderType);
|
access.SetFolderType(folderType);
|
||||||
RelVaultNode * result = GetChildNodeIncRef(templateNode, maxDepth);
|
RelVaultNode * result = GetChildNodeIncRef(templateNode, maxDepth);
|
||||||
templateNode->UnRef();
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1369,15 +1352,13 @@ void RelVaultNode::GetChildNodesIncRef (
|
|||||||
unsigned maxDepth,
|
unsigned maxDepth,
|
||||||
ARRAY(RelVaultNode*) * nodes
|
ARRAY(RelVaultNode*) * nodes
|
||||||
) {
|
) {
|
||||||
NetVaultNode * templateNode = new NetVaultNode;
|
hsRef<NetVaultNode> templateNode = new NetVaultNode;
|
||||||
templateNode->Ref();
|
|
||||||
templateNode->SetNodeType(nodeType);
|
templateNode->SetNodeType(nodeType);
|
||||||
GetChildNodesIncRef(
|
GetChildNodesIncRef(
|
||||||
templateNode,
|
templateNode,
|
||||||
maxDepth,
|
maxDepth,
|
||||||
nodes
|
nodes
|
||||||
);
|
);
|
||||||
templateNode->UnRef();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//============================================================================
|
//============================================================================
|
||||||
@ -1386,8 +1367,7 @@ void RelVaultNode::GetChildFolderNodesIncRef (
|
|||||||
unsigned maxDepth,
|
unsigned maxDepth,
|
||||||
ARRAY(RelVaultNode*) * nodes
|
ARRAY(RelVaultNode*) * nodes
|
||||||
) {
|
) {
|
||||||
NetVaultNode * templateNode = new NetVaultNode;
|
hsRef<NetVaultNode> templateNode = new NetVaultNode;
|
||||||
templateNode->Ref();
|
|
||||||
templateNode->SetNodeType(plVault::kNodeType_Folder);
|
templateNode->SetNodeType(plVault::kNodeType_Folder);
|
||||||
VaultFolderNode fldr(templateNode);
|
VaultFolderNode fldr(templateNode);
|
||||||
fldr.SetFolderType(folderType);
|
fldr.SetFolderType(folderType);
|
||||||
@ -1396,7 +1376,6 @@ void RelVaultNode::GetChildFolderNodesIncRef (
|
|||||||
maxDepth,
|
maxDepth,
|
||||||
nodes
|
nodes
|
||||||
);
|
);
|
||||||
templateNode->UnRef();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//============================================================================
|
//============================================================================
|
||||||
@ -1587,8 +1566,7 @@ RelVaultNode * RelVaultNode::GetParentAgeLinkIncRef () {
|
|||||||
|
|
||||||
RelVaultNode * result = nil;
|
RelVaultNode * result = nil;
|
||||||
|
|
||||||
NetVaultNode * templateNode = new NetVaultNode;
|
hsRef<NetVaultNode> templateNode = new NetVaultNode;
|
||||||
templateNode->Ref();
|
|
||||||
templateNode->SetNodeType(plVault::kNodeType_AgeLink);
|
templateNode->SetNodeType(plVault::kNodeType_AgeLink);
|
||||||
|
|
||||||
// Get our parent AgeLink node
|
// Get our parent AgeLink node
|
||||||
@ -1597,8 +1575,7 @@ RelVaultNode * RelVaultNode::GetParentAgeLinkIncRef () {
|
|||||||
result = rvnLink->GetParentNodeIncRef(templateNode, 3);
|
result = rvnLink->GetParentNodeIncRef(templateNode, 3);
|
||||||
}
|
}
|
||||||
|
|
||||||
templateNode->UnRef();
|
return result;
|
||||||
return result;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -2013,8 +1990,7 @@ void VaultCreateNode (
|
|||||||
void * state,
|
void * state,
|
||||||
void * param
|
void * param
|
||||||
) {
|
) {
|
||||||
RelVaultNode * templateNode = new RelVaultNode;
|
hsRef<RelVaultNode> templateNode = new RelVaultNode;
|
||||||
templateNode->Ref();
|
|
||||||
templateNode->SetNodeType(nodeType);
|
templateNode->SetNodeType(nodeType);
|
||||||
|
|
||||||
VaultCreateNode(
|
VaultCreateNode(
|
||||||
@ -2023,8 +1999,6 @@ void VaultCreateNode (
|
|||||||
state,
|
state,
|
||||||
param
|
param
|
||||||
);
|
);
|
||||||
|
|
||||||
templateNode->UnRef();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//============================================================================
|
//============================================================================
|
||||||
@ -2083,13 +2057,11 @@ RelVaultNode * VaultCreateNodeAndWaitIncRef (
|
|||||||
ENetError * result
|
ENetError * result
|
||||||
) {
|
) {
|
||||||
RelVaultNode * node;
|
RelVaultNode * node;
|
||||||
RelVaultNode * templateNode = new RelVaultNode;
|
hsRef<RelVaultNode> templateNode = new RelVaultNode;
|
||||||
templateNode->Ref();
|
|
||||||
templateNode->SetNodeType(nodeType);
|
templateNode->SetNodeType(nodeType);
|
||||||
|
|
||||||
node = VaultCreateNodeAndWaitIncRef(templateNode, result);
|
node = VaultCreateNodeAndWaitIncRef(templateNode, result);
|
||||||
|
|
||||||
templateNode->UnRef();
|
|
||||||
return node;
|
return node;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2294,13 +2266,11 @@ void VaultInitAge (
|
|||||||
|
|
||||||
//============================================================================
|
//============================================================================
|
||||||
static RelVaultNode * GetPlayerNode () {
|
static RelVaultNode * GetPlayerNode () {
|
||||||
NetVaultNode * templateNode = new NetVaultNode;
|
hsRef<NetVaultNode> templateNode = new NetVaultNode;
|
||||||
templateNode->Ref();
|
|
||||||
templateNode->SetNodeType(plVault::kNodeType_VNodeMgrPlayer);
|
templateNode->SetNodeType(plVault::kNodeType_VNodeMgrPlayer);
|
||||||
if (NetCommGetPlayer())
|
if (NetCommGetPlayer())
|
||||||
templateNode->SetNodeId(NetCommGetPlayer()->playerInt);
|
templateNode->SetNodeId(NetCommGetPlayer()->playerInt);
|
||||||
RelVaultNode * result = GetNode(templateNode);
|
RelVaultNode * result = GetNode(templateNode);
|
||||||
templateNode->UnRef();
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2326,8 +2296,7 @@ RelVaultNode * VaultGetPlayerInfoNodeIncRef () {
|
|||||||
if (!rvnPlr)
|
if (!rvnPlr)
|
||||||
return nil;
|
return nil;
|
||||||
|
|
||||||
NetVaultNode * templateNode = new NetVaultNode;
|
hsRef<NetVaultNode> templateNode = new NetVaultNode;
|
||||||
templateNode->Ref();
|
|
||||||
templateNode->SetNodeType(plVault::kNodeType_PlayerInfo);
|
templateNode->SetNodeType(plVault::kNodeType_PlayerInfo);
|
||||||
VaultPlayerInfoNode plrInfo(templateNode);
|
VaultPlayerInfoNode plrInfo(templateNode);
|
||||||
plrInfo.SetPlayerId(rvnPlr->GetNodeId());
|
plrInfo.SetPlayerId(rvnPlr->GetNodeId());
|
||||||
@ -2338,8 +2307,6 @@ RelVaultNode * VaultGetPlayerInfoNodeIncRef () {
|
|||||||
if (RelVaultNode * rvnPlrInfo = rvnPlr->GetChildNodeIncRef(templateNode, 1))
|
if (RelVaultNode * rvnPlrInfo = rvnPlr->GetChildNodeIncRef(templateNode, 1))
|
||||||
result = rvnPlrInfo;
|
result = rvnPlrInfo;
|
||||||
|
|
||||||
templateNode->UnRef();
|
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2391,8 +2358,7 @@ bool VaultGetLinkToMyNeighborhood (plAgeLinkStruct * link) {
|
|||||||
if (!rvnFldr)
|
if (!rvnFldr)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
NetVaultNode * templateNode = new NetVaultNode;
|
hsRef<NetVaultNode> templateNode = new NetVaultNode;
|
||||||
templateNode->Ref();
|
|
||||||
|
|
||||||
templateNode->SetNodeType(plVault::kNodeType_AgeInfo);
|
templateNode->SetNodeType(plVault::kNodeType_AgeInfo);
|
||||||
VaultAgeInfoNode ageInfo(templateNode);
|
VaultAgeInfoNode ageInfo(templateNode);
|
||||||
@ -2406,7 +2372,6 @@ bool VaultGetLinkToMyNeighborhood (plAgeLinkStruct * link) {
|
|||||||
info.CopyTo(link->GetAgeInfo());
|
info.CopyTo(link->GetAgeInfo());
|
||||||
node->UnRef();
|
node->UnRef();
|
||||||
}
|
}
|
||||||
templateNode->UnRef();
|
|
||||||
rvnFldr->UnRef();
|
rvnFldr->UnRef();
|
||||||
|
|
||||||
return node != nil;
|
return node != nil;
|
||||||
@ -2418,8 +2383,7 @@ bool VaultGetLinkToMyPersonalAge (plAgeLinkStruct * link) {
|
|||||||
if (!rvnFldr)
|
if (!rvnFldr)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
NetVaultNode * templateNode = new NetVaultNode;
|
hsRef<NetVaultNode> templateNode = new NetVaultNode;
|
||||||
templateNode->Ref();
|
|
||||||
|
|
||||||
templateNode->SetNodeType(plVault::kNodeType_AgeInfo);
|
templateNode->SetNodeType(plVault::kNodeType_AgeInfo);
|
||||||
VaultAgeInfoNode ageInfo(templateNode);
|
VaultAgeInfoNode ageInfo(templateNode);
|
||||||
@ -2433,7 +2397,6 @@ bool VaultGetLinkToMyPersonalAge (plAgeLinkStruct * link) {
|
|||||||
info.CopyTo(link->GetAgeInfo());
|
info.CopyTo(link->GetAgeInfo());
|
||||||
node->UnRef();
|
node->UnRef();
|
||||||
}
|
}
|
||||||
templateNode->UnRef();
|
|
||||||
rvnFldr->UnRef();
|
rvnFldr->UnRef();
|
||||||
|
|
||||||
return node != nil;
|
return node != nil;
|
||||||
@ -2445,8 +2408,7 @@ bool VaultGetLinkToCity (plAgeLinkStruct * link) {
|
|||||||
if (!rvnFldr)
|
if (!rvnFldr)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
NetVaultNode * templateNode = new NetVaultNode;
|
hsRef<NetVaultNode> templateNode = new NetVaultNode;
|
||||||
templateNode->Ref();
|
|
||||||
templateNode->SetNodeType(plVault::kNodeType_AgeInfo);
|
templateNode->SetNodeType(plVault::kNodeType_AgeInfo);
|
||||||
|
|
||||||
VaultAgeInfoNode ageInfo(templateNode);
|
VaultAgeInfoNode ageInfo(templateNode);
|
||||||
@ -2460,7 +2422,6 @@ bool VaultGetLinkToCity (plAgeLinkStruct * link) {
|
|||||||
info.CopyTo(link->GetAgeInfo());
|
info.CopyTo(link->GetAgeInfo());
|
||||||
node->UnRef();
|
node->UnRef();
|
||||||
}
|
}
|
||||||
templateNode->UnRef();
|
|
||||||
rvnFldr->UnRef();
|
rvnFldr->UnRef();
|
||||||
|
|
||||||
return node != nil;
|
return node != nil;
|
||||||
@ -2473,8 +2434,7 @@ RelVaultNode * VaultGetOwnedAgeLinkIncRef (const plAgeInfoStruct * info) {
|
|||||||
|
|
||||||
if (RelVaultNode * rvnFldr = VaultGetAgesIOwnFolderIncRef()) {
|
if (RelVaultNode * rvnFldr = VaultGetAgesIOwnFolderIncRef()) {
|
||||||
|
|
||||||
NetVaultNode * templateNode = new NetVaultNode;
|
hsRef<NetVaultNode> templateNode = new NetVaultNode;
|
||||||
templateNode->Ref();
|
|
||||||
templateNode->SetNodeType(plVault::kNodeType_AgeInfo);
|
templateNode->SetNodeType(plVault::kNodeType_AgeInfo);
|
||||||
|
|
||||||
VaultAgeInfoNode ageInfo(templateNode);
|
VaultAgeInfoNode ageInfo(templateNode);
|
||||||
@ -2494,7 +2454,6 @@ RelVaultNode * VaultGetOwnedAgeLinkIncRef (const plAgeInfoStruct * info) {
|
|||||||
rvnInfo->UnRef();
|
rvnInfo->UnRef();
|
||||||
}
|
}
|
||||||
|
|
||||||
templateNode->UnRef();
|
|
||||||
rvnFldr->UnRef();
|
rvnFldr->UnRef();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2508,8 +2467,7 @@ RelVaultNode * VaultGetOwnedAgeInfoIncRef (const plAgeInfoStruct * info) {
|
|||||||
|
|
||||||
if (RelVaultNode * rvnFldr = VaultGetAgesIOwnFolderIncRef()) {
|
if (RelVaultNode * rvnFldr = VaultGetAgesIOwnFolderIncRef()) {
|
||||||
|
|
||||||
NetVaultNode * templateNode = new NetVaultNode;
|
hsRef<NetVaultNode> templateNode = new NetVaultNode;
|
||||||
templateNode->Ref();
|
|
||||||
templateNode->SetNodeType(plVault::kNodeType_AgeInfo);
|
templateNode->SetNodeType(plVault::kNodeType_AgeInfo);
|
||||||
|
|
||||||
VaultAgeInfoNode ageInfo(templateNode);
|
VaultAgeInfoNode ageInfo(templateNode);
|
||||||
@ -2524,7 +2482,6 @@ RelVaultNode * VaultGetOwnedAgeInfoIncRef (const plAgeInfoStruct * info) {
|
|||||||
|
|
||||||
rvnInfo = rvnFldr->GetChildNodeIncRef(templateNode, 2);
|
rvnInfo = rvnFldr->GetChildNodeIncRef(templateNode, 2);
|
||||||
|
|
||||||
templateNode->UnRef();
|
|
||||||
rvnFldr->UnRef();
|
rvnFldr->UnRef();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2573,8 +2530,7 @@ bool VaultAddOwnedAgeSpawnPoint (const plUUID& ageInstId, const plSpawnPointInfo
|
|||||||
ARRAY(unsigned) nodeIds;
|
ARRAY(unsigned) nodeIds;
|
||||||
fldr->GetChildNodeIds(&nodeIds, 1);
|
fldr->GetChildNodeIds(&nodeIds, 1);
|
||||||
|
|
||||||
NetVaultNode * templateNode = new NetVaultNode;
|
hsRef<NetVaultNode> templateNode = new NetVaultNode;
|
||||||
templateNode->Ref();
|
|
||||||
templateNode->SetNodeType(plVault::kNodeType_AgeInfo);
|
templateNode->SetNodeType(plVault::kNodeType_AgeInfo);
|
||||||
VaultAgeInfoNode access(templateNode);
|
VaultAgeInfoNode access(templateNode);
|
||||||
access.SetAgeInstanceGuid(ageInstId);
|
access.SetAgeInstanceGuid(ageInstId);
|
||||||
@ -2592,7 +2548,6 @@ bool VaultAddOwnedAgeSpawnPoint (const plUUID& ageInstId, const plSpawnPointInfo
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
templateNode->UnRef();
|
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -2637,8 +2592,7 @@ RelVaultNode * VaultGetVisitAgeLinkIncRef (const plAgeInfoStruct * info) {
|
|||||||
|
|
||||||
if (RelVaultNode * rvnFldr = VaultGetAgesICanVisitFolderIncRef()) {
|
if (RelVaultNode * rvnFldr = VaultGetAgesICanVisitFolderIncRef()) {
|
||||||
|
|
||||||
NetVaultNode * templateNode = new NetVaultNode;
|
hsRef<NetVaultNode> templateNode = new NetVaultNode;
|
||||||
templateNode->Ref();
|
|
||||||
templateNode->SetNodeType(plVault::kNodeType_AgeInfo);
|
templateNode->SetNodeType(plVault::kNodeType_AgeInfo);
|
||||||
|
|
||||||
VaultAgeInfoNode ageInfo(templateNode);
|
VaultAgeInfoNode ageInfo(templateNode);
|
||||||
@ -2658,7 +2612,6 @@ RelVaultNode * VaultGetVisitAgeLinkIncRef (const plAgeInfoStruct * info) {
|
|||||||
rvnInfo->UnRef();
|
rvnInfo->UnRef();
|
||||||
}
|
}
|
||||||
|
|
||||||
templateNode->UnRef();
|
|
||||||
rvnFldr->UnRef();
|
rvnFldr->UnRef();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3548,8 +3501,7 @@ RelVaultNode * VaultFindChronicleEntryIncRef (const wchar_t entryName[], int ent
|
|||||||
|
|
||||||
RelVaultNode * result = nil;
|
RelVaultNode * result = nil;
|
||||||
if (RelVaultNode * rvnFldr = GetChildFolderNode(GetPlayerNode(), plVault::kChronicleFolder, 1)) {
|
if (RelVaultNode * rvnFldr = GetChildFolderNode(GetPlayerNode(), plVault::kChronicleFolder, 1)) {
|
||||||
NetVaultNode * templateNode = new NetVaultNode;
|
hsRef<NetVaultNode> templateNode = new NetVaultNode;
|
||||||
templateNode->Ref();
|
|
||||||
templateNode->SetNodeType(plVault::kNodeType_Chronicle);
|
templateNode->SetNodeType(plVault::kNodeType_Chronicle);
|
||||||
VaultChronicleNode chrn(templateNode);
|
VaultChronicleNode chrn(templateNode);
|
||||||
chrn.SetEntryName(entryName);
|
chrn.SetEntryName(entryName);
|
||||||
@ -3557,8 +3509,7 @@ RelVaultNode * VaultFindChronicleEntryIncRef (const wchar_t entryName[], int ent
|
|||||||
chrn.SetEntryType(entryType);
|
chrn.SetEntryType(entryType);
|
||||||
if (RelVaultNode * rvnChrn = rvnFldr->GetChildNodeIncRef(templateNode, 255))
|
if (RelVaultNode * rvnChrn = rvnFldr->GetChildNodeIncRef(templateNode, 255))
|
||||||
result = rvnChrn;
|
result = rvnChrn;
|
||||||
templateNode->UnRef();
|
}
|
||||||
}
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3582,8 +3533,7 @@ void VaultAddChronicleEntryAndWait (
|
|||||||
chrnNode.SetEntryValue(entryValue);
|
chrnNode.SetEntryValue(entryValue);
|
||||||
}
|
}
|
||||||
else if (RelVaultNode * rvnFldr = GetChildFolderNode(GetPlayerNode(), plVault::kChronicleFolder, 1)) {
|
else if (RelVaultNode * rvnFldr = GetChildFolderNode(GetPlayerNode(), plVault::kChronicleFolder, 1)) {
|
||||||
NetVaultNode * templateNode = new NetVaultNode;
|
hsRef<NetVaultNode> templateNode = new NetVaultNode;
|
||||||
templateNode->Ref();
|
|
||||||
templateNode->SetNodeType(plVault::kNodeType_Chronicle);
|
templateNode->SetNodeType(plVault::kNodeType_Chronicle);
|
||||||
VaultChronicleNode chrnNode(templateNode);
|
VaultChronicleNode chrnNode(templateNode);
|
||||||
chrnNode.SetEntryName(entryName);
|
chrnNode.SetEntryName(entryName);
|
||||||
@ -3594,7 +3544,6 @@ void VaultAddChronicleEntryAndWait (
|
|||||||
VaultAddChildNode(rvnFldr->GetNodeId(), rvnChrn->GetNodeId(), 0, nil, nil);
|
VaultAddChildNode(rvnFldr->GetNodeId(), rvnChrn->GetNodeId(), 0, nil, nil);
|
||||||
rvnChrn->UnRef();
|
rvnChrn->UnRef();
|
||||||
}
|
}
|
||||||
templateNode->UnRef();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3604,8 +3553,7 @@ bool VaultAmIgnoringPlayer (unsigned playerId) {
|
|||||||
if (RelVaultNode * rvnFldr = GetChildPlayerInfoListNode(GetPlayerNode(), plVault::kIgnoreListFolder, 1)) {
|
if (RelVaultNode * rvnFldr = GetChildPlayerInfoListNode(GetPlayerNode(), plVault::kIgnoreListFolder, 1)) {
|
||||||
rvnFldr->Ref();
|
rvnFldr->Ref();
|
||||||
|
|
||||||
NetVaultNode * templateNode = new NetVaultNode;
|
hsRef<NetVaultNode> templateNode = new NetVaultNode;
|
||||||
templateNode->Ref();
|
|
||||||
templateNode->SetNodeType(plVault::kNodeType_PlayerInfo);
|
templateNode->SetNodeType(plVault::kNodeType_PlayerInfo);
|
||||||
VaultPlayerInfoNode pinfoNode(templateNode);
|
VaultPlayerInfoNode pinfoNode(templateNode);
|
||||||
pinfoNode.SetPlayerId(playerId);
|
pinfoNode.SetPlayerId(playerId);
|
||||||
@ -3615,7 +3563,6 @@ bool VaultAmIgnoringPlayer (unsigned playerId) {
|
|||||||
rvnPlayerInfo->UnRef();
|
rvnPlayerInfo->UnRef();
|
||||||
}
|
}
|
||||||
|
|
||||||
templateNode->UnRef();
|
|
||||||
rvnFldr->UnRef();
|
rvnFldr->UnRef();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3841,13 +3788,11 @@ void VaultProcessPlayerInbox () {
|
|||||||
if (RelVaultNode * rvnInbox = VaultGetPlayerInboxFolderIncRef()) {
|
if (RelVaultNode * rvnInbox = VaultGetPlayerInboxFolderIncRef()) {
|
||||||
{ // Process new visit requests
|
{ // Process new visit requests
|
||||||
ARRAY(RelVaultNode*) visits;
|
ARRAY(RelVaultNode*) visits;
|
||||||
RelVaultNode * templateNode = new RelVaultNode;
|
hsRef<RelVaultNode> templateNode = new RelVaultNode;
|
||||||
templateNode->Ref();
|
|
||||||
templateNode->SetNodeType(plVault::kNodeType_TextNote);
|
templateNode->SetNodeType(plVault::kNodeType_TextNote);
|
||||||
VaultTextNoteNode tmpAcc(templateNode);
|
VaultTextNoteNode tmpAcc(templateNode);
|
||||||
tmpAcc.SetNoteType(plVault::kNoteType_Visit);
|
tmpAcc.SetNoteType(plVault::kNoteType_Visit);
|
||||||
rvnInbox->GetChildNodesIncRef(templateNode, 1, &visits);
|
rvnInbox->GetChildNodesIncRef(templateNode, 1, &visits);
|
||||||
templateNode->UnRef();
|
|
||||||
|
|
||||||
for (unsigned i = 0; i < visits.Count(); ++i) {
|
for (unsigned i = 0; i < visits.Count(); ++i) {
|
||||||
RelVaultNode * rvnVisit = visits[i];
|
RelVaultNode * rvnVisit = visits[i];
|
||||||
@ -3864,13 +3809,11 @@ void VaultProcessPlayerInbox () {
|
|||||||
}
|
}
|
||||||
{ // Process new unvisit requests
|
{ // Process new unvisit requests
|
||||||
ARRAY(RelVaultNode*) unvisits;
|
ARRAY(RelVaultNode*) unvisits;
|
||||||
RelVaultNode * templateNode = new RelVaultNode;
|
hsRef<RelVaultNode> templateNode = new RelVaultNode;
|
||||||
templateNode->Ref();
|
|
||||||
templateNode->SetNodeType(plVault::kNodeType_TextNote);
|
templateNode->SetNodeType(plVault::kNodeType_TextNote);
|
||||||
VaultTextNoteNode tmpAcc(templateNode);
|
VaultTextNoteNode tmpAcc(templateNode);
|
||||||
tmpAcc.SetNoteType(plVault::kNoteType_UnVisit);
|
tmpAcc.SetNoteType(plVault::kNoteType_UnVisit);
|
||||||
rvnInbox->GetChildNodesIncRef(templateNode, 1, &unvisits);
|
rvnInbox->GetChildNodesIncRef(templateNode, 1, &unvisits);
|
||||||
templateNode->UnRef();
|
|
||||||
|
|
||||||
for (unsigned i = 0; i < unvisits.Count(); ++i) {
|
for (unsigned i = 0; i < unvisits.Count(); ++i) {
|
||||||
RelVaultNode * rvnUnVisit = unvisits[i];
|
RelVaultNode * rvnUnVisit = unvisits[i];
|
||||||
@ -3899,27 +3842,23 @@ void VaultProcessPlayerInbox () {
|
|||||||
|
|
||||||
//============================================================================
|
//============================================================================
|
||||||
static RelVaultNode * GetAgeNode () {
|
static RelVaultNode * GetAgeNode () {
|
||||||
NetVaultNode * templateNode = new NetVaultNode;
|
hsRef<NetVaultNode> templateNode = new NetVaultNode;
|
||||||
templateNode->Ref();
|
|
||||||
templateNode->SetNodeType(plVault::kNodeType_VNodeMgrAge);
|
templateNode->SetNodeType(plVault::kNodeType_VNodeMgrAge);
|
||||||
if (NetCommGetAge())
|
if (NetCommGetAge())
|
||||||
templateNode->SetNodeId(NetCommGetAge()->ageVaultId);
|
templateNode->SetNodeId(NetCommGetAge()->ageVaultId);
|
||||||
RelVaultNode * result = GetNode(templateNode);
|
RelVaultNode * result = GetNode(templateNode);
|
||||||
templateNode->UnRef();
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
//============================================================================
|
//============================================================================
|
||||||
RelVaultNode * VaultGetAgeNodeIncRef () {
|
RelVaultNode * VaultGetAgeNodeIncRef () {
|
||||||
RelVaultNode * result = nil;
|
RelVaultNode * result = nil;
|
||||||
NetVaultNode * templateNode = new NetVaultNode;
|
hsRef<NetVaultNode> templateNode = new NetVaultNode;
|
||||||
templateNode->Ref();
|
|
||||||
templateNode->SetNodeType(plVault::kNodeType_VNodeMgrAge);
|
templateNode->SetNodeType(plVault::kNodeType_VNodeMgrAge);
|
||||||
if (NetCommGetAge())
|
if (NetCommGetAge())
|
||||||
templateNode->SetNodeId(NetCommGetAge()->ageVaultId);
|
templateNode->SetNodeId(NetCommGetAge()->ageVaultId);
|
||||||
if (RelVaultNode * rvnAge = VaultGetNodeIncRef(templateNode))
|
if (RelVaultNode * rvnAge = VaultGetNodeIncRef(templateNode))
|
||||||
result = rvnAge;
|
result = rvnAge;
|
||||||
templateNode->UnRef();
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3930,8 +3869,7 @@ static RelVaultNode * GetAgeInfoNode () {
|
|||||||
return nil;
|
return nil;
|
||||||
|
|
||||||
RelVaultNode * result = nil;
|
RelVaultNode * result = nil;
|
||||||
NetVaultNode * templateNode = new NetVaultNode;
|
hsRef<NetVaultNode> templateNode = new NetVaultNode;
|
||||||
templateNode->Ref();
|
|
||||||
|
|
||||||
templateNode->SetNodeType(plVault::kNodeType_AgeInfo);
|
templateNode->SetNodeType(plVault::kNodeType_AgeInfo);
|
||||||
templateNode->SetCreatorId(rvnAge->GetNodeId());
|
templateNode->SetCreatorId(rvnAge->GetNodeId());
|
||||||
@ -3941,7 +3879,6 @@ static RelVaultNode * GetAgeInfoNode () {
|
|||||||
result = rvnAgeInfo;
|
result = rvnAgeInfo;
|
||||||
}
|
}
|
||||||
|
|
||||||
templateNode->UnRef();
|
|
||||||
rvnAge->UnRef();
|
rvnAge->UnRef();
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
@ -3954,15 +3891,13 @@ RelVaultNode * VaultGetAgeInfoNodeIncRef () {
|
|||||||
return nil;
|
return nil;
|
||||||
|
|
||||||
RelVaultNode * result = nil;
|
RelVaultNode * result = nil;
|
||||||
NetVaultNode * templateNode = new NetVaultNode;
|
hsRef<NetVaultNode> templateNode = new NetVaultNode;
|
||||||
templateNode->Ref();
|
|
||||||
templateNode->SetNodeType(plVault::kNodeType_AgeInfo);
|
templateNode->SetNodeType(plVault::kNodeType_AgeInfo);
|
||||||
templateNode->SetCreatorId(rvnAge->GetNodeId());
|
templateNode->SetCreatorId(rvnAge->GetNodeId());
|
||||||
|
|
||||||
if (RelVaultNode * rvnAgeInfo = rvnAge->GetChildNodeIncRef(templateNode, 1))
|
if (RelVaultNode * rvnAgeInfo = rvnAge->GetChildNodeIncRef(templateNode, 1))
|
||||||
result = rvnAgeInfo;
|
result = rvnAgeInfo;
|
||||||
|
|
||||||
templateNode->UnRef();
|
|
||||||
rvnAge->UnRef();
|
rvnAge->UnRef();
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
@ -4029,8 +3964,7 @@ RelVaultNode * VaultFindAgeSubAgeLinkIncRef (const plAgeInfoStruct * info) {
|
|||||||
|
|
||||||
if (RelVaultNode * rvnFldr = VaultGetAgeSubAgesFolderIncRef()) {
|
if (RelVaultNode * rvnFldr = VaultGetAgeSubAgesFolderIncRef()) {
|
||||||
|
|
||||||
NetVaultNode * templateNode = new NetVaultNode;
|
hsRef<NetVaultNode> templateNode = new NetVaultNode;
|
||||||
templateNode->Ref();
|
|
||||||
templateNode->SetNodeType(plVault::kNodeType_AgeInfo);
|
templateNode->SetNodeType(plVault::kNodeType_AgeInfo);
|
||||||
|
|
||||||
VaultAgeInfoNode ageInfo(templateNode);
|
VaultAgeInfoNode ageInfo(templateNode);
|
||||||
@ -4045,7 +3979,6 @@ RelVaultNode * VaultFindAgeSubAgeLinkIncRef (const plAgeInfoStruct * info) {
|
|||||||
rvnInfo->UnRef();
|
rvnInfo->UnRef();
|
||||||
}
|
}
|
||||||
|
|
||||||
templateNode->UnRef();
|
|
||||||
rvnFldr->UnRef();
|
rvnFldr->UnRef();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4102,8 +4035,7 @@ RelVaultNode * VaultAgeAddDeviceAndWaitIncRef (const wchar_t deviceName[]) {
|
|||||||
//============================================================================
|
//============================================================================
|
||||||
void VaultAgeRemoveDevice (const wchar_t deviceName[]) {
|
void VaultAgeRemoveDevice (const wchar_t deviceName[]) {
|
||||||
if (RelVaultNode * folder = VaultGetAgeDevicesFolderIncRef()) {
|
if (RelVaultNode * folder = VaultGetAgeDevicesFolderIncRef()) {
|
||||||
NetVaultNode * templateNode = new NetVaultNode;
|
hsRef<NetVaultNode> templateNode = new NetVaultNode;
|
||||||
templateNode->Ref();
|
|
||||||
templateNode->SetNodeType(plVault::kNodeType_TextNote);
|
templateNode->SetNodeType(plVault::kNodeType_TextNote);
|
||||||
VaultTextNoteNode access(templateNode);
|
VaultTextNoteNode access(templateNode);
|
||||||
access.SetNoteTitle(deviceName);
|
access.SetNoteTitle(deviceName);
|
||||||
@ -4114,7 +4046,6 @@ void VaultAgeRemoveDevice (const wchar_t deviceName[]) {
|
|||||||
if (DeviceInbox * deviceInbox = s_ageDeviceInboxes.Find(CHashKeyStr(deviceName)))
|
if (DeviceInbox * deviceInbox = s_ageDeviceInboxes.Find(CHashKeyStr(deviceName)))
|
||||||
delete device;
|
delete device;
|
||||||
}
|
}
|
||||||
templateNode->UnRef();
|
|
||||||
folder->UnRef();
|
folder->UnRef();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -4123,8 +4054,7 @@ void VaultAgeRemoveDevice (const wchar_t deviceName[]) {
|
|||||||
bool VaultAgeHasDevice (const wchar_t deviceName[]) {
|
bool VaultAgeHasDevice (const wchar_t deviceName[]) {
|
||||||
bool found = false;
|
bool found = false;
|
||||||
if (RelVaultNode * folder = VaultGetAgeDevicesFolderIncRef()) {
|
if (RelVaultNode * folder = VaultGetAgeDevicesFolderIncRef()) {
|
||||||
NetVaultNode * templateNode = new NetVaultNode;
|
hsRef<NetVaultNode> templateNode = new NetVaultNode;
|
||||||
templateNode->Ref();
|
|
||||||
templateNode->SetNodeType(plVault::kNodeType_TextNote);
|
templateNode->SetNodeType(plVault::kNodeType_TextNote);
|
||||||
VaultTextNoteNode access(templateNode);
|
VaultTextNoteNode access(templateNode);
|
||||||
access.SetNoteTitle(deviceName);
|
access.SetNoteTitle(deviceName);
|
||||||
@ -4132,7 +4062,6 @@ bool VaultAgeHasDevice (const wchar_t deviceName[]) {
|
|||||||
found = true;
|
found = true;
|
||||||
device->UnRef();
|
device->UnRef();
|
||||||
}
|
}
|
||||||
templateNode->UnRef();
|
|
||||||
folder->UnRef();
|
folder->UnRef();
|
||||||
}
|
}
|
||||||
return found;
|
return found;
|
||||||
@ -4142,14 +4071,12 @@ bool VaultAgeHasDevice (const wchar_t deviceName[]) {
|
|||||||
RelVaultNode * VaultAgeGetDeviceIncRef (const wchar_t deviceName[]) {
|
RelVaultNode * VaultAgeGetDeviceIncRef (const wchar_t deviceName[]) {
|
||||||
RelVaultNode * result = nil;
|
RelVaultNode * result = nil;
|
||||||
if (RelVaultNode * folder = VaultGetAgeDevicesFolderIncRef()) {
|
if (RelVaultNode * folder = VaultGetAgeDevicesFolderIncRef()) {
|
||||||
NetVaultNode * templateNode = new NetVaultNode;
|
hsRef<NetVaultNode> templateNode = new NetVaultNode;
|
||||||
templateNode->Ref();
|
|
||||||
templateNode->SetNodeType(plVault::kNodeType_TextNote);
|
templateNode->SetNodeType(plVault::kNodeType_TextNote);
|
||||||
VaultTextNoteNode access(templateNode);
|
VaultTextNoteNode access(templateNode);
|
||||||
access.SetNoteTitle(deviceName);
|
access.SetNoteTitle(deviceName);
|
||||||
if (RelVaultNode * device = folder->GetChildNodeIncRef(templateNode, 1))
|
if (RelVaultNode * device = folder->GetChildNodeIncRef(templateNode, 1))
|
||||||
result = device;
|
result = device;
|
||||||
templateNode->UnRef();
|
|
||||||
folder->UnRef();
|
folder->UnRef();
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
@ -4214,14 +4141,12 @@ RelVaultNode * VaultAgeGetDeviceInboxIncRef (const wchar_t deviceName[]) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (parentNode) {
|
if (parentNode) {
|
||||||
NetVaultNode * templateNode = new NetVaultNode;
|
hsRef<NetVaultNode> templateNode = new NetVaultNode;
|
||||||
templateNode->Ref();
|
|
||||||
templateNode->SetNodeType(plVault::kNodeType_Folder);
|
templateNode->SetNodeType(plVault::kNodeType_Folder);
|
||||||
VaultFolderNode access(templateNode);
|
VaultFolderNode access(templateNode);
|
||||||
access.SetFolderType(plVault::kDeviceInboxFolder);
|
access.SetFolderType(plVault::kDeviceInboxFolder);
|
||||||
access.SetFolderName(devInbox->inboxName);
|
access.SetFolderName(devInbox->inboxName);
|
||||||
result = parentNode->GetChildNodeIncRef(templateNode, 1);
|
result = parentNode->GetChildNodeIncRef(templateNode, 1);
|
||||||
templateNode->UnRef();
|
|
||||||
parentNode->UnRef();
|
parentNode->UnRef();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -4278,8 +4203,7 @@ RelVaultNode * VaultGetSubAgeLinkIncRef (const plAgeInfoStruct * info) {
|
|||||||
|
|
||||||
if (RelVaultNode * rvnFldr = VaultGetAgeSubAgesFolderIncRef()) {
|
if (RelVaultNode * rvnFldr = VaultGetAgeSubAgesFolderIncRef()) {
|
||||||
|
|
||||||
NetVaultNode * templateNode = new NetVaultNode;
|
hsRef<NetVaultNode> templateNode = new NetVaultNode;
|
||||||
templateNode->Ref();
|
|
||||||
templateNode->SetNodeType(plVault::kNodeType_AgeInfo);
|
templateNode->SetNodeType(plVault::kNodeType_AgeInfo);
|
||||||
|
|
||||||
VaultAgeInfoNode ageInfo(templateNode);
|
VaultAgeInfoNode ageInfo(templateNode);
|
||||||
@ -4294,7 +4218,6 @@ RelVaultNode * VaultGetSubAgeLinkIncRef (const plAgeInfoStruct * info) {
|
|||||||
rvnInfo->UnRef();
|
rvnInfo->UnRef();
|
||||||
}
|
}
|
||||||
|
|
||||||
templateNode->UnRef();
|
|
||||||
rvnFldr->UnRef();
|
rvnFldr->UnRef();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4739,8 +4662,7 @@ bool VaultAgeFindOrCreateChildAgeLinkAndWait (
|
|||||||
|
|
||||||
// Check for existing child age in folder
|
// Check for existing child age in folder
|
||||||
RelVaultNode * rvnLink = nil;
|
RelVaultNode * rvnLink = nil;
|
||||||
NetVaultNode * templateNode = new NetVaultNode;
|
hsRef<NetVaultNode> templateNode = new NetVaultNode;
|
||||||
templateNode->Ref();
|
|
||||||
templateNode->SetNodeType(plVault::kNodeType_AgeInfo);
|
templateNode->SetNodeType(plVault::kNodeType_AgeInfo);
|
||||||
|
|
||||||
VaultAgeInfoNode ageInfo(templateNode);
|
VaultAgeInfoNode ageInfo(templateNode);
|
||||||
@ -4755,7 +4677,6 @@ bool VaultAgeFindOrCreateChildAgeLinkAndWait (
|
|||||||
rvnInfo->UnRef();
|
rvnInfo->UnRef();
|
||||||
}
|
}
|
||||||
|
|
||||||
templateNode->UnRef();
|
|
||||||
rvnChildAges->UnRef();
|
rvnChildAges->UnRef();
|
||||||
|
|
||||||
if (rvnLink) {
|
if (rvnLink) {
|
||||||
@ -5164,12 +5085,10 @@ void VaultCull (unsigned vaultId) {
|
|||||||
RelVaultNode * VaultGetSystemNodeIncRef () {
|
RelVaultNode * VaultGetSystemNodeIncRef () {
|
||||||
RelVaultNode * result = nil;
|
RelVaultNode * result = nil;
|
||||||
if (RelVaultNode * player = VaultGetPlayerNodeIncRef()) {
|
if (RelVaultNode * player = VaultGetPlayerNodeIncRef()) {
|
||||||
NetVaultNode * templateNode = new NetVaultNode;
|
hsRef<NetVaultNode> templateNode = new NetVaultNode;
|
||||||
templateNode->Ref();
|
|
||||||
templateNode->SetNodeType(plVault::kNodeType_System);
|
templateNode->SetNodeType(plVault::kNodeType_System);
|
||||||
if (RelVaultNode * systemNode = player->GetChildNodeIncRef(templateNode, 1))
|
if (RelVaultNode * systemNode = player->GetChildNodeIncRef(templateNode, 1))
|
||||||
result = systemNode;
|
result = systemNode;
|
||||||
templateNode->UnRef();
|
|
||||||
player->UnRef();
|
player->UnRef();
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
@ -5179,14 +5098,12 @@ RelVaultNode * VaultGetSystemNodeIncRef () {
|
|||||||
RelVaultNode * VaultGetGlobalInboxIncRef () {
|
RelVaultNode * VaultGetGlobalInboxIncRef () {
|
||||||
RelVaultNode * result = nil;
|
RelVaultNode * result = nil;
|
||||||
if (RelVaultNode * system = VaultGetSystemNodeIncRef()) {
|
if (RelVaultNode * system = VaultGetSystemNodeIncRef()) {
|
||||||
NetVaultNode * templateNode = new NetVaultNode;
|
hsRef<NetVaultNode> templateNode = new NetVaultNode;
|
||||||
templateNode->Ref();
|
|
||||||
templateNode->SetNodeType(plVault::kNodeType_Folder);
|
templateNode->SetNodeType(plVault::kNodeType_Folder);
|
||||||
VaultFolderNode folder(templateNode);
|
VaultFolderNode folder(templateNode);
|
||||||
folder.SetFolderType(plVault::kGlobalInboxFolder);
|
folder.SetFolderType(plVault::kGlobalInboxFolder);
|
||||||
if (RelVaultNode * inbox = system->GetChildNodeIncRef(templateNode, 1))
|
if (RelVaultNode * inbox = system->GetChildNodeIncRef(templateNode, 1))
|
||||||
result = inbox;
|
result = inbox;
|
||||||
templateNode->UnRef();
|
|
||||||
system->UnRef();
|
system->UnRef();
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
|
Reference in New Issue
Block a user