PyObject * pyVaultNodeRef::GetSaver () { if (!fParent || !fChild) return 0; RelVaultNode * saver = nil; if (RelVaultNode * child = VaultGetNodeIncRef(fChild->GetNodeId())) { if (unsigned saverId = child->GetRefOwnerId(fParent->GetNodeId())) { // Find the player info node representing the saver NetVaultNode * templateNode = new NetVaultNode; templateNode->Ref(); templateNode->SetNodeType(plVault::kNodeType_PlayerInfo); VaultPlayerInfoNode access(templateNode); access.SetPlayerId(saverId); saver = VaultGetNodeIncRef(templateNode); if (!saver) { ARRAY(unsigned) nodeIds; VaultFindNodesAndWait(templateNode, &nodeIds); if (nodeIds.Count() > 0) { VaultFetchNodesAndWait(nodeIds.Ptr(), nodeIds.Count()); saver = VaultGetNodeIncRef(nodeIds[0]); } } templateNode->UnRef(); } child->UnRef(); } if (!saver) PYTHON_RETURN_NONE; PyObject * result = pyVaultPlayerInfoNode::New(saver); saver->UnRef(); return result; }
PyObject * pyVaultNode::GetChildNode (unsigned nodeId) { if (!fNode) PYTHON_RETURN_NONE; RelVaultNode * templateNode = new RelVaultNode; templateNode->Ref(); templateNode->SetNodeId(nodeId); RelVaultNode * rvn = fNode->GetChildNodeIncRef(templateNode, 1); templateNode->UnRef(); if (rvn) { PyObject * result = pyVaultNode::New(rvn); rvn->UnRef(); return result; } PYTHON_RETURN_NONE; }
plUUID pyAgeVault::GetAgeGuid( void ) { RelVaultNode * rvn = VaultGetAgeInfoNodeIncRef(); if (rvn) { VaultAgeInfoNode ageInfo(rvn); plUUID uuid = ageInfo.GetAgeInstanceGuid(); rvn->UnRef(); return uuid; } return kNilUuid; }
PyObject* pyAgeVault::GetAgeDevicesFolder( void ) { RelVaultNode * rvn = VaultGetAgeDevicesFolderIncRef(); if (rvn) { PyObject * result = pyVaultFolderNode::New(rvn); rvn->UnRef(); return result; } // just return a None object PYTHON_RETURN_NONE; }
PyObject* pyAgeVault::GetAgeInfo() { RelVaultNode * rvn = VaultGetAgeInfoNodeIncRef(); if (rvn) { PyObject * result = pyVaultAgeInfoNode::New(rvn); rvn->UnRef(); return result; } // just return a None object PYTHON_RETURN_NONE; }
PyObject* pyAgeVault::GetSubAgeLink( const pyAgeInfoStruct & info ) { RelVaultNode * rvn = VaultFindAgeSubAgeLinkIncRef(info.GetAgeInfo()); if (rvn) { PyObject * result = pyVaultAgeLinkNode::New(rvn); rvn->UnRef(); return result; } // just return a None object PYTHON_RETURN_NONE; }
PyObject* pyAgeVault::FindNode( pyVaultNode* templateNode ) const { if (RelVaultNode * rvn = VaultGetAgeNodeIncRef()) { RelVaultNode * find = rvn->GetChildNodeIncRef(templateNode->fNode, 1); rvn->UnRef(); if (find) { PyObject * result = pyVaultNode::New(find); find->UnRef(); return result; } } PYTHON_RETURN_NONE; }
PyObject * pyVaultNode::GetNode2( uint32_t nodeID ) const { PyObject * result = nil; if ( fNode ) { RelVaultNode * templateNode = new RelVaultNode; templateNode->Ref(); templateNode->SetNodeId(nodeID); if (RelVaultNode * rvn = fNode->GetChildNodeIncRef(templateNode, 1)) { result = pyVaultNodeRef::New(fNode, rvn); rvn->UnRef(); } templateNode->UnRef(); } if (result) return result; PYTHON_RETURN_NONE; }
PyObject* pyVaultNode::GetCreatorNode( void ) { PyObject * result = nil; if (fNode) { RelVaultNode * templateNode = new RelVaultNode; templateNode->Ref(); templateNode->SetNodeType(plVault::kNodeType_PlayerInfo); VaultPlayerInfoNode plrInfo(templateNode); plrInfo.SetPlayerId(fNode->GetCreatorId()); if (RelVaultNode * rvn = VaultGetNodeIncRef(templateNode)) { result = pyVaultPlayerInfoNode::New(rvn); rvn->UnRef(); } templateNode->UnRef(); } if (result) return result; // just return a None object PYTHON_RETURN_NONE; }