mirror of
https://foundry.openuru.org/gitblit/r/CWE-ou-minkata.git
synced 2025-07-18 11:19:10 +00:00
Merge pull request #461 from cwalther/setpublic
Let ptVault.setAgePublic accept ptVaultAgeInfoNode in addition to ptAgeInfoStruct
This commit is contained in:
@ -641,6 +641,11 @@ bool pyVault::SetAgePublic( const pyAgeInfoStruct * ageInfo, bool makePublic )
|
||||
return VaultSetOwnedAgePublicAndWait(ageInfo->GetAgeInfo(), makePublic);
|
||||
}
|
||||
|
||||
bool pyVault::SetAgePublic( const pyVaultAgeInfoNode * ageInfoNode, bool makePublic )
|
||||
{
|
||||
return VaultSetAgePublicAndWait(ageInfoNode->GetNode(), makePublic);
|
||||
}
|
||||
|
||||
|
||||
PyObject* pyVault::GetGlobalInbox()
|
||||
{
|
||||
|
@ -174,6 +174,8 @@ public:
|
||||
void CreateNeighborhood();
|
||||
// set an age's public status. will fail if you aren't czar of age.
|
||||
bool SetAgePublic( const pyAgeInfoStruct * ageInfo, bool makePublic );
|
||||
// set an age's public status, also works for non-owners
|
||||
bool SetAgePublic( const pyVaultAgeInfoNode * ageInfoNode, bool makePublic );
|
||||
|
||||
PyObject* GetGlobalInbox( void ); // returns pyVaultFolderNode
|
||||
|
||||
|
@ -47,6 +47,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
#include "pyEnum.h"
|
||||
#include "pyAgeInfoStruct.h"
|
||||
#include "pyVaultNode.h"
|
||||
#include "pyVaultAgeInfoNode.h"
|
||||
#include "pySDL.h"
|
||||
#include "pyAgeLinkStruct.h"
|
||||
|
||||
@ -455,16 +456,21 @@ PYTHON_METHOD_DEFINITION(ptVault, setAgePublic, args)
|
||||
char makePublic;
|
||||
if (!PyArg_ParseTuple(args, "Ob", &ageInfoObj, &makePublic))
|
||||
{
|
||||
PyErr_SetString(PyExc_TypeError, "setAgePublic expects a ptAgeInfoStruct and a boolean");
|
||||
PyErr_SetString(PyExc_TypeError, "setAgePublic expects a ptAgeInfoStruct or ptVaultAgeInfoNode and a boolean");
|
||||
PYTHON_RETURN_ERROR;
|
||||
}
|
||||
if (!pyAgeInfoStruct::Check(ageInfoObj))
|
||||
if (pyAgeInfoStruct::Check(ageInfoObj))
|
||||
{
|
||||
PyErr_SetString(PyExc_TypeError, "setAgePublic expects a ptAgeInfoStruct and a boolean");
|
||||
PYTHON_RETURN_ERROR;
|
||||
pyAgeInfoStruct* ageInfo = pyAgeInfoStruct::ConvertFrom(ageInfoObj);
|
||||
PYTHON_RETURN_BOOL(self->fThis->SetAgePublic(ageInfo, makePublic != 0));
|
||||
}
|
||||
pyAgeInfoStruct* ageInfo = pyAgeInfoStruct::ConvertFrom(ageInfoObj);
|
||||
PYTHON_RETURN_BOOL(self->fThis->SetAgePublic(ageInfo, makePublic != 0));
|
||||
else if (pyVaultAgeInfoNode::Check(ageInfoObj))
|
||||
{
|
||||
pyVaultAgeInfoNode* ageInfoNode = pyVaultAgeInfoNode::ConvertFrom(ageInfoObj);
|
||||
PYTHON_RETURN_BOOL(self->fThis->SetAgePublic(ageInfoNode, makePublic != 0));
|
||||
}
|
||||
PyErr_SetString(PyExc_TypeError, "setAgePublic expects a ptAgeInfoStruct or ptVaultAgeInfoNode and a boolean");
|
||||
PYTHON_RETURN_ERROR;
|
||||
}
|
||||
|
||||
PYTHON_START_METHODS_TABLE(ptVault)
|
||||
|
@ -2477,25 +2477,31 @@ bool VaultAddOwnedAgeSpawnPoint (const plUUID& ageInstId, const plSpawnPointInfo
|
||||
bool VaultSetOwnedAgePublicAndWait (const plAgeInfoStruct * info, bool publicOrNot) {
|
||||
if (hsRef<RelVaultNode> rvnLink = VaultGetOwnedAgeLink(info)) {
|
||||
if (hsRef<RelVaultNode> rvnInfo = rvnLink->GetChildNode(plVault::kNodeType_AgeInfo, 1)) {
|
||||
NetCliAuthSetAgePublic(rvnInfo->GetNodeId(), publicOrNot);
|
||||
|
||||
VaultAgeInfoNode access(rvnInfo);
|
||||
char ageName[MAX_PATH];
|
||||
StrToAnsi(ageName, access.GetAgeFilename(), arrsize(ageName));
|
||||
|
||||
plVaultNotifyMsg * msg = new plVaultNotifyMsg;
|
||||
if (publicOrNot)
|
||||
msg->SetType(plVaultNotifyMsg::kPublicAgeCreated);
|
||||
else
|
||||
msg->SetType(plVaultNotifyMsg::kPublicAgeRemoved);
|
||||
msg->SetResultCode(true);
|
||||
msg->GetArgs()->AddString(plNetCommon::VaultTaskArgs::kAgeFilename, ageName);
|
||||
msg->Send();
|
||||
VaultSetAgePublicAndWait(rvnInfo, publicOrNot);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
//============================================================================
|
||||
bool VaultSetAgePublicAndWait (NetVaultNode * ageInfoNode, bool publicOrNot) {
|
||||
NetCliAuthSetAgePublic(ageInfoNode->GetNodeId(), publicOrNot);
|
||||
|
||||
VaultAgeInfoNode access(ageInfoNode);
|
||||
char ageName[MAX_PATH];
|
||||
StrToAnsi(ageName, access.GetAgeFilename(), arrsize(ageName));
|
||||
|
||||
plVaultNotifyMsg * msg = new plVaultNotifyMsg;
|
||||
if (publicOrNot)
|
||||
msg->SetType(plVaultNotifyMsg::kPublicAgeCreated);
|
||||
else
|
||||
msg->SetType(plVaultNotifyMsg::kPublicAgeRemoved);
|
||||
msg->SetResultCode(true);
|
||||
msg->GetArgs()->AddString(plNetCommon::VaultTaskArgs::kAgeFilename, ageName);
|
||||
msg->Send();
|
||||
return true;
|
||||
}
|
||||
|
||||
//============================================================================
|
||||
hsRef<RelVaultNode> VaultGetVisitAgeLink (const plAgeInfoStruct * info) {
|
||||
hsRef<RelVaultNode> rvnLink;
|
||||
|
@ -345,6 +345,7 @@ hsRef<RelVaultNode> VaultGetOwnedAgeInfo(const plAgeInfoStruct * info);
|
||||
bool VaultGetOwnedAgeLink(const plAgeInfoStruct * info, plAgeLinkStruct * link);
|
||||
bool VaultAddOwnedAgeSpawnPoint(const plUUID& ageInstId, const plSpawnPointInfo & spawnPt);
|
||||
bool VaultSetOwnedAgePublicAndWait(const plAgeInfoStruct * info, bool publicOrNot);
|
||||
bool VaultSetAgePublicAndWait(NetVaultNode * ageInfoNode, bool publicOrNot);
|
||||
hsRef<RelVaultNode> VaultGetVisitAgeLink(const plAgeInfoStruct * info);
|
||||
bool VaultGetVisitAgeLink(const plAgeInfoStruct * info, class plAgeLinkStruct * link);
|
||||
bool VaultRegisterOwnedAgeAndWait(const plAgeLinkStruct * link);
|
||||
|
Reference in New Issue
Block a user