/indra/llinventory/llparcelflags.h

https://bitbucket.org/lindenlab/viewer-beta/ · C++ Header · 132 lines · 81 code · 10 blank · 41 comment · 0 complexity · 07d10565e04742528fe518b14edac197 MD5 · raw file

  1. /**
  2. * @file llparcelflags.h
  3. *
  4. * $LicenseInfo:firstyear=2002&license=viewerlgpl$
  5. * Second Life Viewer Source Code
  6. * Copyright (C) 2010, Linden Research, Inc.
  7. *
  8. * This library is free software; you can redistribute it and/or
  9. * modify it under the terms of the GNU Lesser General Public
  10. * License as published by the Free Software Foundation;
  11. * version 2.1 of the License only.
  12. *
  13. * This library is distributed in the hope that it will be useful,
  14. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  15. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  16. * Lesser General Public License for more details.
  17. *
  18. * You should have received a copy of the GNU Lesser General Public
  19. * License along with this library; if not, write to the Free Software
  20. * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  21. *
  22. * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
  23. * $/LicenseInfo$
  24. */
  25. #ifndef LL_LLPARCEL_FLAGS_H
  26. #define LL_LLPARCEL_FLAGS_H
  27. //---------------------------------------------------------------------------
  28. // Parcel Flags (PF) constants
  29. //---------------------------------------------------------------------------
  30. const U32 PF_ALLOW_FLY = 1 << 0;// Can start flying
  31. const U32 PF_ALLOW_OTHER_SCRIPTS= 1 << 1;// Scripts by others can run.
  32. const U32 PF_FOR_SALE = 1 << 2;// Can buy this land
  33. const U32 PF_FOR_SALE_OBJECTS = 1 << 7;// Can buy all objects on this land
  34. const U32 PF_ALLOW_LANDMARK = 1 << 3;
  35. const U32 PF_ALLOW_TERRAFORM = 1 << 4;
  36. const U32 PF_ALLOW_DAMAGE = 1 << 5;
  37. const U32 PF_CREATE_OBJECTS = 1 << 6;
  38. // 7 is moved above
  39. const U32 PF_USE_ACCESS_GROUP = 1 << 8;
  40. const U32 PF_USE_ACCESS_LIST = 1 << 9;
  41. const U32 PF_USE_BAN_LIST = 1 << 10;
  42. const U32 PF_USE_PASS_LIST = 1 << 11;
  43. const U32 PF_SHOW_DIRECTORY = 1 << 12;
  44. const U32 PF_ALLOW_DEED_TO_GROUP = 1 << 13;
  45. const U32 PF_CONTRIBUTE_WITH_DEED = 1 << 14;
  46. const U32 PF_SOUND_LOCAL = 1 << 15; // Hear sounds in this parcel only
  47. const U32 PF_SELL_PARCEL_OBJECTS = 1 << 16; // Objects on land are included as part of the land when the land is sold
  48. const U32 PF_ALLOW_PUBLISH = 1 << 17; // Allow publishing of parcel information on the web
  49. const U32 PF_MATURE_PUBLISH = 1 << 18; // The information on this parcel is mature
  50. const U32 PF_URL_WEB_PAGE = 1 << 19; // The "media URL" is an HTML page
  51. const U32 PF_URL_RAW_HTML = 1 << 20; // The "media URL" is a raw HTML string like <H1>Foo</H1>
  52. const U32 PF_RESTRICT_PUSHOBJECT = 1 << 21; // Restrict push object to either on agent or on scripts owned by parcel owner
  53. const U32 PF_DENY_ANONYMOUS = 1 << 22; // Deny all non identified/transacted accounts
  54. // const U32 PF_DENY_IDENTIFIED = 1 << 23; // Deny identified accounts
  55. // const U32 PF_DENY_TRANSACTED = 1 << 24; // Deny identified accounts
  56. const U32 PF_ALLOW_GROUP_SCRIPTS = 1 << 25; // Allow scripts owned by group
  57. const U32 PF_CREATE_GROUP_OBJECTS = 1 << 26; // Allow object creation by group members or objects
  58. const U32 PF_ALLOW_ALL_OBJECT_ENTRY = 1 << 27; // Allow all objects to enter a parcel
  59. const U32 PF_ALLOW_GROUP_OBJECT_ENTRY = 1 << 28; // Only allow group (and owner) objects to enter the parcel
  60. const U32 PF_ALLOW_VOICE_CHAT = 1 << 29; // Allow residents to use voice chat on this parcel
  61. const U32 PF_USE_ESTATE_VOICE_CHAN = 1 << 30;
  62. const U32 PF_DENY_AGEUNVERIFIED = 1 << 31; // Prevent residents who aren't age-verified
  63. // NOTE: At one point we have used all of the bits.
  64. // We have deprecated two of them in 1.19.0 which *could* be reused,
  65. // but only after we are certain there are no simstates using those bits.
  66. //const U32 PF_RESERVED = 1U << 31;
  67. // If any of these are true the parcel is restricting access in some maner.
  68. const U32 PF_USE_RESTRICTED_ACCESS = PF_USE_ACCESS_GROUP
  69. | PF_USE_ACCESS_LIST
  70. | PF_USE_BAN_LIST
  71. | PF_USE_PASS_LIST
  72. | PF_DENY_ANONYMOUS
  73. | PF_DENY_AGEUNVERIFIED;
  74. const U32 PF_NONE = 0x00000000;
  75. const U32 PF_ALL = 0xFFFFFFFF;
  76. const U32 PF_DEFAULT = PF_ALLOW_FLY
  77. | PF_ALLOW_OTHER_SCRIPTS
  78. | PF_ALLOW_GROUP_SCRIPTS
  79. | PF_ALLOW_LANDMARK
  80. | PF_CREATE_OBJECTS
  81. | PF_CREATE_GROUP_OBJECTS
  82. | PF_USE_BAN_LIST
  83. | PF_ALLOW_ALL_OBJECT_ENTRY
  84. | PF_ALLOW_GROUP_OBJECT_ENTRY
  85. | PF_ALLOW_VOICE_CHAT
  86. | PF_USE_ESTATE_VOICE_CHAN;
  87. // Access list flags
  88. const U32 AL_ACCESS = (1 << 0);
  89. const U32 AL_BAN = (1 << 1);
  90. //const U32 AL_RENTER = (1 << 2);
  91. // Block access return values. BA_ALLOWED is the only success case
  92. // since some code in the simulator relies on that assumption. All
  93. // other BA_ values should be reasons why you are not allowed.
  94. const S32 BA_ALLOWED = 0;
  95. const S32 BA_NOT_IN_GROUP = 1;
  96. const S32 BA_NOT_ON_LIST = 2;
  97. const S32 BA_BANNED = 3;
  98. const S32 BA_NO_ACCESS_LEVEL = 4;
  99. const S32 BA_NOT_AGE_VERIFIED = 5;
  100. // ParcelRelease flags
  101. const U32 PR_NONE = 0x0;
  102. const U32 PR_GOD_FORCE = (1 << 0);
  103. enum EObjectCategory
  104. {
  105. OC_INVALID = -1,
  106. OC_NONE = 0,
  107. OC_TOTAL = 0, // yes zero, like OC_NONE
  108. OC_OWNER,
  109. OC_GROUP,
  110. OC_OTHER,
  111. OC_SELECTED,
  112. OC_TEMP,
  113. OC_COUNT
  114. };
  115. const S32 PARCEL_DETAILS_NAME = 0;
  116. const S32 PARCEL_DETAILS_DESC = 1;
  117. const S32 PARCEL_DETAILS_OWNER = 2;
  118. const S32 PARCEL_DETAILS_GROUP = 3;
  119. const S32 PARCEL_DETAILS_AREA = 4;
  120. const S32 PARCEL_DETAILS_ID = 5;
  121. const S32 PARCEL_DETAILS_SEE_AVATARS = 6;
  122. #endif