From 4ae6a8ff6d84a4364cc40b99e6135b57dfd1781c Mon Sep 17 00:00:00 2001 From: "whump.linden" Date: Thu, 26 Mar 2009 02:02:29 +0000 Subject: [PATCH] Added helper methods for setting Next Owner permissions. --- pyogp/lib/base/objects.py | 59 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/pyogp/lib/base/objects.py b/pyogp/lib/base/objects.py index 1cbdfb6..99a5e88 100644 --- a/pyogp/lib/base/objects.py +++ b/pyogp/lib/base/objects.py @@ -30,6 +30,7 @@ import math # pyogp from pyogp.lib.base import * +from pyogp.lib.base.permissions import * # pyogp message from pyogp.lib.base.message.packethandler import PacketHandler @@ -538,6 +539,64 @@ class Object(object): agent.region.enqueue_message(packet()) + def set_object_full_permissions(self, agent): + """ + Set Next Owner Permissions Copy, Modify, Transfer + This is also called 'full permissions'. + """ + + self.update_object_permissions(agent, PermissionsTarget.NextOwner, 1, PermissionsMask.Copy) + self.update_object_permissions(agent, PermissionsTarget.NextOwner, 1, PermissionsMask.Modify) + self.update_object_permissions(agent, PermissionsTarget.NextOwner, 1, PermissionsMask.Transfer) + + def set_object_copy_mod_permissions(self, agent): + """ + Set Next Owner Permissions to Copy/Mod + This is a common permission set for attachements. + """ + + self.update_object_permissions(agent, PermissionsTarget.NextOwner, 1, PermissionsMask.Copy) + self.update_object_permissions(agent, PermissionsTarget.NextOwner, 1, PermissionsMask.Modify) + self.update_object_permissions(agent, PermissionsTarget.NextOwner, 0, PermissionsMask.Transfer) + + def set_object_mod_transfer_permissions(self, agent): + """ + Set Next Owner Permissions to Mod/Transfer + This is a common permission set for clothing. + """ + + self.update_object_permissions(agent, PermissionsTarget.NextOwner, 0, PermissionsMask.Copy) + self.update_object_permissions(agent, PermissionsTarget.NextOwner, 1, PermissionsMask.Modify) + self.update_object_permissions(agent, PermissionsTarget.NextOwner, 1, PermissionsMask.Transfer) + + def set_object_transfer_only_permissions(self, agent): + """ + Set Next Owner Permissions to Transfer Only + This is the most restrictive set of permissions allowed. + """ + + self.update_object_permissions(agent, PermissionsTarget.NextOwner, 0, PermissionsMask.Copy) + self.update_object_permissions(agent, PermissionsTarget.NextOwner, 0, PermissionsMask.Modify) + self.update_object_permissions(agent, PermissionsTarget.NextOwner, 1, PermissionsMask.Transfer) + + def set_object_copy_transfer_permissions(self, agent): + """ + Set Next Owner Permissions to Copy/Transfer + """ + + self.update_object_permissions(agent, PermissionsTarget.NextOwner, 1, PermissionsMask.Copy) + self.update_object_permissions(agent, PermissionsTarget.NextOwner, 0, PermissionsMask.Modify) + self.update_object_permissions(agent, PermissionsTarget.NextOwner, 1, PermissionsMask.Transfer) + + def set_object_copy_only_permissions(self, agent): + """ + Set Next Owner Permissions to Copy Only + """ + + self.update_object_permissions(agent, PermissionsTarget.NextOwner, 1, PermissionsMask.Copy) + self.update_object_permissions(agent, PermissionsTarget.NextOwner, 0, PermissionsMask.Modify) + self.update_object_permissions(agent, PermissionsTarget.NextOwner, 0, PermissionsMask.Transfer) + def set_object_name(self, agent, Name): """ update the name of an object