00001 00032 #ifndef LL_ROLES_CONSTANTS_H 00033 #define LL_ROLES_CONSTANTS_H 00034 00035 // This value includes the everyone group. 00036 const S32 MAX_ROLES = 10; 00037 00038 enum LLRoleMemberChangeType 00039 { 00040 RMC_ADD, 00041 RMC_REMOVE, 00042 RMC_NONE 00043 }; 00044 00045 enum LLRoleChangeType 00046 { 00047 RC_UPDATE_NONE, 00048 RC_UPDATE_DATA, 00049 RC_UPDATE_POWERS, 00050 RC_UPDATE_ALL, 00051 RC_CREATE, 00052 RC_DELETE 00053 }; 00054 00055 // 00056 // Powers 00057 // 00058 00059 // KNOWN HOLES: 00060 // bit 0x1 << 37 (GP_OBJECT_RETURN) 00061 00062 // These powers were removed to make group roles simpler 00063 // bit 0x1 << 27 (GP_LAND_ALLOW_SCRIPTS) 00064 // bit 0x1 << 16 (GP_LAND_VIEW_OWNED) 00065 // bit 0x1 << 41 (GP_ACCOUNTING_VIEW) 00066 // bit 0x1 << 46 (GP_PROPOSAL_VIEW) 00067 00068 const U64 GP_NO_POWERS = 0x0; 00069 const U64 GP_ALL_POWERS = 0xFFFFFFFFFFFFFFFFLL; 00070 00071 // Membership 00072 const U64 GP_MEMBER_INVITE = 0x1 << 1; // Invite member 00073 const U64 GP_MEMBER_EJECT = 0x1 << 2; // Eject member from group 00074 const U64 GP_MEMBER_OPTIONS = 0x1 << 3; // Toggle "Open enrollment" and change "Signup Fee" 00075 const U64 GP_MEMBER_VISIBLE_IN_DIR = 0x1LL << 47; 00076 00077 // Roles 00078 const U64 GP_ROLE_CREATE = 0x1 << 4; // Create new roles 00079 const U64 GP_ROLE_DELETE = 0x1 << 5; // Delete roles 00080 const U64 GP_ROLE_PROPERTIES = 0x1 << 6; // Change Role Names, Titles, and Descriptions (Of roles the user is in, only, or any role in group?) 00081 const U64 GP_ROLE_ASSIGN_MEMBER_LIMITED = 0x1 << 7; // Assign Member to a Role that the assigner is in 00082 const U64 GP_ROLE_ASSIGN_MEMBER = 0x1 << 8; // Assign Member to Role 00083 const U64 GP_ROLE_REMOVE_MEMBER = 0x1 << 9; // Remove Member from Role 00084 const U64 GP_ROLE_CHANGE_ACTIONS = 0x1 << 10; // Change actions a role can perform 00085 00086 // Group Identity 00087 const U64 GP_GROUP_CHANGE_IDENTITY = 0x1 << 11; // Charter, insignia, 'Show In Group List', 'Publish on the web', 'Mature', all 'Show Member In Group Profile' checkboxes 00088 00089 // Parcel Management 00090 const U64 GP_LAND_DEED = 0x1 << 12; // Deed Land and Buy Land for Group 00091 const U64 GP_LAND_RELEASE = 0x1 << 13; // Release Land (to Gov. Linden) 00092 const U64 GP_LAND_SET_SALE_INFO = 0x1 << 14; // Set for sale info (Toggle "For Sale", Set Price, Set Target, Toggle "Sell objects with the land") 00093 const U64 GP_LAND_DIVIDE_JOIN = 0x1 << 15; // Divide and Join Parcels 00094 00095 // Parcel Identity 00096 const U64 GP_LAND_FIND_PLACES = 0x1 << 17; // Toggle "Show in Find Places" and Set Category. 00097 const U64 GP_LAND_CHANGE_IDENTITY = 0x1 << 18; // Change Parcel Identity: Parcel Name, Parcel Description, Snapshot, 'Publish on the web', and 'Mature' checkbox 00098 const U64 GP_LAND_SET_LANDING_POINT = 0x1 << 19; // Set Landing Point 00099 00100 // Parcel Settings 00101 const U64 GP_LAND_CHANGE_MEDIA = 0x1 << 20; // Change Media Settings 00102 const U64 GP_LAND_EDIT = 0x1 << 21; // Toggle Edit Land 00103 const U64 GP_LAND_OPTIONS = 0x1 << 22; // Toggle Set Home Point, Fly, Outside Scripts, Create/Edit Objects, Landmark, and Damage checkboxes 00104 00105 // Parcel Powers 00106 const U64 GP_LAND_ALLOW_EDIT_LAND = 0x1 << 23; // Bypass Edit Land Restriction 00107 const U64 GP_LAND_ALLOW_FLY = 0x1 << 24; // Bypass Fly Restriction 00108 const U64 GP_LAND_ALLOW_CREATE = 0x1 << 25; // Bypass Create/Edit Objects Restriction 00109 const U64 GP_LAND_ALLOW_LANDMARK = 0x1 << 26; // Bypass Landmark Restriction 00110 const U64 GP_LAND_ALLOW_SET_HOME = 0x1 << 28; // Bypass Set Home Point Restriction 00111 00112 // Parcel Access 00113 const U64 GP_LAND_MANAGE_ALLOWED = 0x1 << 29; // Manage Allowed List 00114 const U64 GP_LAND_MANAGE_BANNED = 0x1 << 30; // Manage Banned List 00115 const U64 GP_LAND_MANAGE_PASSES = 0x1LL << 31; // Change Sell Pass Settings 00116 const U64 GP_LAND_ADMIN = 0x1LL << 32; // Eject and Freeze Users on the land 00117 00118 // Parcel Content 00119 const U64 GP_LAND_RETURN_GROUP_OWNED= 0x1LL << 48; // Return objects on parcel that are owned by the group 00120 const U64 GP_LAND_RETURN_GROUP_SET = 0x1LL << 33; // Return objects on parcel that are set to group 00121 const U64 GP_LAND_RETURN_NON_GROUP = 0x1LL << 34; // Return objects on parcel that are not set to group 00122 // Select a power-bit based on an object's relationship to a parcel. 00123 const U64 GP_LAND_RETURN = GP_LAND_RETURN_GROUP_OWNED 00124 | GP_LAND_RETURN_GROUP_SET 00125 | GP_LAND_RETURN_NON_GROUP; 00126 const U64 GP_LAND_GARDENING = 0x1LL << 35; // Parcel Gardening - plant and move linden trees 00127 00128 // Object Management 00129 const U64 GP_OBJECT_DEED = 0x1LL << 36; // Deed Object 00130 // HOLE -- 0x1LL << 37 00131 const U64 GP_OBJECT_MANIPULATE = 0x1LL << 38; // Manipulate Group Owned Objects (Move, Copy, Mod) 00132 const U64 GP_OBJECT_SET_SALE = 0x1LL << 39; // Set Group Owned Object for Sale 00133 00134 // Accounting 00135 const U64 GP_ACCOUNTING_ACCOUNTABLE = 0x1LL << 40; // Pay Group Liabilities and Receive Group Dividends 00136 00137 // Notices 00138 const U64 GP_NOTICES_SEND = 0x1LL << 42; // Send Notices 00139 const U64 GP_NOTICES_RECEIVE = 0x1LL << 43; // Receive Notices and View Notice History 00140 00141 // Proposals 00142 const U64 GP_PROPOSAL_START = 0x1LL << 44; // Start Proposal 00143 const U64 GP_PROPOSAL_VOTE = 0x1LL << 45; // Vote on Proposal 00144 00145 const U64 GP_SESSION_JOIN = 0x1LL << 46; //can join session 00146 const U64 GP_SESSION_VOICE = 0x1LL << 47; //can hear/talk 00147 const U64 GP_SESSION_MODERATOR = 0x1LL << 49; //can mute people's session 00148 00149 const U64 GP_DEFAULT_MEMBER = GP_ACCOUNTING_ACCOUNTABLE 00150 | GP_LAND_ALLOW_SET_HOME 00151 | GP_NOTICES_RECEIVE 00152 | GP_PROPOSAL_START 00153 | GP_PROPOSAL_VOTE 00154 | GP_SESSION_JOIN 00155 | GP_SESSION_VOICE 00156 ; 00157 00158 const U64 GP_DEFAULT_OFFICER = GP_ACCOUNTING_ACCOUNTABLE 00159 | GP_GROUP_CHANGE_IDENTITY 00160 | GP_LAND_ADMIN 00161 | GP_LAND_ALLOW_EDIT_LAND 00162 | GP_LAND_ALLOW_FLY 00163 | GP_LAND_ALLOW_CREATE 00164 | GP_LAND_ALLOW_LANDMARK 00165 | GP_LAND_ALLOW_SET_HOME 00166 | GP_LAND_CHANGE_IDENTITY 00167 | GP_LAND_CHANGE_MEDIA 00168 | GP_LAND_DEED 00169 | GP_LAND_DIVIDE_JOIN 00170 | GP_LAND_EDIT 00171 | GP_LAND_FIND_PLACES 00172 | GP_LAND_GARDENING 00173 | GP_LAND_MANAGE_ALLOWED 00174 | GP_LAND_MANAGE_BANNED 00175 | GP_LAND_MANAGE_PASSES 00176 | GP_LAND_OPTIONS 00177 | GP_LAND_RELEASE 00178 | GP_LAND_RETURN_GROUP_OWNED 00179 | GP_LAND_RETURN_GROUP_SET 00180 | GP_LAND_RETURN_NON_GROUP 00181 | GP_LAND_SET_LANDING_POINT 00182 | GP_LAND_SET_SALE_INFO 00183 | GP_MEMBER_EJECT 00184 | GP_MEMBER_INVITE 00185 | GP_MEMBER_OPTIONS 00186 | GP_MEMBER_VISIBLE_IN_DIR 00187 | GP_NOTICES_RECEIVE 00188 | GP_NOTICES_SEND 00189 | GP_OBJECT_DEED 00190 | GP_OBJECT_MANIPULATE 00191 | GP_OBJECT_SET_SALE 00192 | GP_PROPOSAL_START 00193 | GP_PROPOSAL_VOTE 00194 | GP_ROLE_ASSIGN_MEMBER_LIMITED 00195 | GP_ROLE_PROPERTIES 00196 | GP_SESSION_MODERATOR 00197 | GP_SESSION_JOIN 00198 | GP_SESSION_VOICE 00199 ; 00200 #endif