diff options
| author | Brad Linden <brad@lindenlab.com> | 2023-05-04 11:39:03 -0700 | 
|---|---|---|
| committer | Brad Linden <brad@lindenlab.com> | 2023-05-04 11:39:03 -0700 | 
| commit | a22d62e8edd8448ced210a39ce996472a54fa1c9 (patch) | |
| tree | 82ec1d027821a83d498a848141249adfd4e36310 /indra | |
| parent | 52f8ff9961aeb463fcbf6fa22314575442aa5352 (diff) | |
| parent | e7c5b9fb0f75b1e75acf7c99eded5f7b697cdc60 (diff) | |
Merge remote-tracking branch 'origin/zap-LLSDArray' into DRTVWR-559
Diffstat (limited to 'indra')
| -rw-r--r-- | indra/llcommon/llsdutil.h | 69 | ||||
| -rw-r--r-- | indra/llcommon/tests/lleventdispatcher_test.cpp | 182 | ||||
| -rw-r--r-- | indra/llcommon/tests/llsdserialize_test.cpp | 8 | ||||
| -rw-r--r-- | indra/llinventory/llsettingsdaycycle.cpp | 4 | ||||
| -rw-r--r-- | indra/llinventory/llsettingssky.cpp | 119 | ||||
| -rw-r--r-- | indra/llinventory/llsettingswater.cpp | 36 | ||||
| -rw-r--r-- | indra/newview/groupchatlistener.cpp | 10 | ||||
| -rw-r--r-- | indra/newview/llappviewer.cpp | 15 | ||||
| -rw-r--r-- | indra/newview/llfloatereditsky.cpp | 2 | ||||
| -rw-r--r-- | indra/newview/llfloatereditwater.cpp | 2 | ||||
| -rw-r--r-- | indra/newview/llsettingsvo.cpp | 32 | ||||
| -rw-r--r-- | indra/test/llsdutil_tut.cpp | 16 | 
12 files changed, 210 insertions, 285 deletions
| diff --git a/indra/llcommon/llsdutil.h b/indra/llcommon/llsdutil.h index 1321615805..372278c51a 100644 --- a/indra/llcommon/llsdutil.h +++ b/indra/llcommon/llsdutil.h @@ -191,75 +191,6 @@ LLSD& drill_ref(  LLSD& blob, const LLSD& path);  } -/***************************************************************************** -*   LLSDArray -*****************************************************************************/ -/** - * Construct an LLSD::Array inline, with implicit conversion to LLSD. Usage: - * - * @code - * void somefunc(const LLSD&); - * ... - * somefunc(LLSDArray("text")(17)(3.14)); - * @endcode - * - * For completeness, LLSDArray() with no args constructs an empty array, so - * <tt>LLSDArray()("text")(17)(3.14)</tt> produces an array equivalent to the - * above. But for most purposes, LLSD() is already equivalent to an empty - * array, and if you explicitly want an empty isArray(), there's - * LLSD::emptyArray(). However, supporting a no-args LLSDArray() constructor - * follows the principle of least astonishment. - */ -class LLSDArray -{ -public: -    LLSDArray(): -        _data(LLSD::emptyArray()) -    {} - -    /** -     * Need an explicit copy constructor. Consider the following: -     * -     * @code -     * LLSD array_of_arrays(LLSDArray(LLSDArray(17)(34)) -     *                               (LLSDArray("x")("y"))); -     * @endcode -     * -     * The coder intends to construct [[17, 34], ["x", "y"]]. -     * -     * With the compiler's implicit copy constructor, s/he gets instead -     * [17, 34, ["x", "y"]]. -     * -     * The expression LLSDArray(17)(34) constructs an LLSDArray with those two -     * values. The reader assumes it should be converted to LLSD, as we always -     * want with LLSDArray, before passing it to the @em outer LLSDArray -     * constructor! This copy constructor makes that happen. -     */ -    LLSDArray(const LLSDArray& inner): -        _data(LLSD::emptyArray()) -    { -        _data.append(inner); -    } - -    LLSDArray(const LLSD& value): -        _data(LLSD::emptyArray()) -    { -        _data.append(value); -    } - -    LLSDArray& operator()(const LLSD& value) -    { -        _data.append(value); -        return *this; -    } - -    operator LLSD() const { return _data; } -    LLSD get() const { return _data; } - -private: -    LLSD _data; -}; -  namespace llsd  { diff --git a/indra/llcommon/tests/lleventdispatcher_test.cpp b/indra/llcommon/tests/lleventdispatcher_test.cpp index 9da1ecfd67..991ec4819f 100644 --- a/indra/llcommon/tests/lleventdispatcher_test.cpp +++ b/indra/llcommon/tests/lleventdispatcher_test.cpp @@ -345,7 +345,7 @@ namespace tut          lleventdispatcher_data():              work("test dispatcher", "op"),              // map {d=double, array=[3 elements]} -            required(LLSDMap("d", LLSD::Real(0))("array", LLSDArray(LLSD())(LLSD())(LLSD()))), +            required(LLSDMap("d", LLSD::Real(0))("array", llsd::array(LLSD(), LLSD(), LLSD()))),              // first several params are required, last couple optional              partial_offset(3)          { @@ -434,8 +434,8 @@ namespace tut              // freena(), methodna(), cmethodna(), smethodna() all take same param list.              // Same for freenb() et al. -            params = LLSDMap("a", LLSDArray("b")("i")("f")("d")("cp")) -                            ("b", LLSDArray("s")("uuid")("date")("uri")("bin")); +            params = LLSDMap("a", llsd::array("b", "i", "f", "d", "cp")) +                            ("b", llsd::array("s", "uuid", "date", "uri", "bin"));              debug("params:\n",                    params, "\n"                    "params[\"a\"]:\n", @@ -452,12 +452,12 @@ namespace tut              // LLDate values are, as long as they're different from the              // LLUUID() and LLDate() default values so inspect() will report              // them. -            dft_array_full = LLSDMap("a", LLSDArray(true)(17)(3.14)(123456.78)("classic")) -                                    ("b", LLSDArray("string") -                                                   (LLUUID::generateNewID()) -                                                   (LLDate::now()) -                                                   (LLURI("http://www.ietf.org/rfc/rfc3986.txt")) -                                                   (binary)); +            dft_array_full = LLSDMap("a", llsd::array(true, 17, 3.14, 123456.78, "classic")) +                                    ("b", llsd::array("string", +                                                      LLUUID::generateNewID(), +                                                      LLDate::now(), +                                                      LLURI("http://www.ietf.org/rfc/rfc3986.txt"), +                                                      binary));              debug("dft_array_full:\n",                    dft_array_full);              // Partial defaults arrays. @@ -723,7 +723,7 @@ namespace tut      {          set_test_name("map-style registration with non-array params");          // Pass "param names" as scalar or as map -        LLSD attempts(LLSDArray(17)(LLSDMap("pi", 3.14)("two", 2))); +        LLSD attempts(llsd::array(17, LLSDMap("pi", 3.14)("two", 2)));          foreach(LLSD ae, inArray(attempts))          {              std::string threw = catch_what<std::exception>([this, &ae](){ @@ -738,7 +738,7 @@ namespace tut      {          set_test_name("map-style registration with badly-formed defaults");          std::string threw = catch_what<std::exception>([this](){ -                work.add("freena_err", "freena", freena, LLSDArray("a")("b"), 17); +                work.add("freena_err", "freena", freena, llsd::array("a", "b"), 17);              });          ensure_has(threw, "must be a map or an array");      } @@ -749,8 +749,8 @@ namespace tut          set_test_name("map-style registration with too many array defaults");          std::string threw = catch_what<std::exception>([this](){                  work.add("freena_err", "freena", freena, -                         LLSDArray("a")("b"), -                         LLSDArray(17)(0.9)("gack")); +                         llsd::array("a", "b"), +                         llsd::array(17, 0.9, "gack"));              });          ensure_has(threw, "shorter than");      } @@ -761,7 +761,7 @@ namespace tut          set_test_name("map-style registration with too many map defaults");          std::string threw = catch_what<std::exception>([this](){                  work.add("freena_err", "freena", freena, -                         LLSDArray("a")("b"), +                         llsd::array("a", "b"),                           LLSDMap("b", 17)("foo", 3.14)("bar", "sinister"));              });          ensure_has(threw, "nonexistent params"); @@ -798,7 +798,7 @@ namespace tut      void object::test<8>()      {          set_test_name("query Callables with/out required params"); -        LLSD names(LLSDArray("free1")("Dmethod1")("Dcmethod1")("method1")); +        LLSD names(llsd::array("free1", "Dmethod1", "Dcmethod1", "method1"));          foreach(LLSD nm, inArray(names))          {              LLSD metadata(getMetadata(nm)); @@ -821,13 +821,13 @@ namespace tut      {          set_test_name("query array-style functions/methods");          // Associate each registered name with expected arity. -        LLSD expected(LLSDArray -                      (LLSDArray -                       (0)(LLSDArray("free0_array")("smethod0_array")("method0_array"))) -                      (LLSDArray -                       (5)(LLSDArray("freena_array")("smethodna_array")("methodna_array"))) -                      (LLSDArray -                       (5)(LLSDArray("freenb_array")("smethodnb_array")("methodnb_array")))); +        LLSD expected(llsd::array +                      (llsd::array +                       (0, llsd::array("free0_array", "smethod0_array", "method0_array")), +                       llsd::array +                       (5, llsd::array("freena_array", "smethodna_array", "methodna_array")), +                       llsd::array +                       (5, llsd::array("freenb_array", "smethodnb_array", "methodnb_array"))));          foreach(LLSD ae, inArray(expected))          {              LLSD::Integer arity(ae[0].asInteger()); @@ -853,7 +853,7 @@ namespace tut          set_test_name("query map-style no-params functions/methods");          // - (Free function | non-static method), map style, no params (ergo          //   no defaults) -        LLSD names(LLSDArray("free0_map")("smethod0_map")("method0_map")); +        LLSD names(llsd::array("free0_map", "smethod0_map", "method0_map"));          foreach(LLSD nm, inArray(names))          {              LLSD metadata(getMetadata(nm)); @@ -877,13 +877,13 @@ namespace tut          // there should (!) be no difference beween array defaults and map          // defaults. Verify, so we can ignore the distinction for all other          // tests. -        LLSD equivalences(LLSDArray -                          (LLSDArray("freena_map_adft")("freena_map_mdft")) -                          (LLSDArray("freenb_map_adft")("freenb_map_mdft")) -                          (LLSDArray("smethodna_map_adft")("smethodna_map_mdft")) -                          (LLSDArray("smethodnb_map_adft")("smethodnb_map_mdft")) -                          (LLSDArray("methodna_map_adft")("methodna_map_mdft")) -                          (LLSDArray("methodnb_map_adft")("methodnb_map_mdft"))); +        LLSD equivalences(llsd::array +                          (llsd::array("freena_map_adft", "freena_map_mdft"), +                           llsd::array("freenb_map_adft", "freenb_map_mdft"), +                           llsd::array("smethodna_map_adft", "smethodna_map_mdft"), +                           llsd::array("smethodnb_map_adft", "smethodnb_map_mdft"), +                           llsd::array("methodna_map_adft", "methodna_map_mdft"), +                           llsd::array("methodnb_map_adft", "methodnb_map_mdft")));          foreach(LLSD eq, inArray(equivalences))          {              LLSD adft(eq[0]); @@ -953,42 +953,42 @@ namespace tut          debug("skipreq:\n",                skipreq); -        LLSD groups(LLSDArray       // array of groups +        LLSD groups(llsd::array       // array of groups -                    (LLSDArray      // group -                     (LLSDArray("freena_map_allreq")("smethodna_map_allreq")("methodna_map_allreq")) -                     (LLSDArray(allreq["a"])(LLSD()))) // required, optional +                    (llsd::array      // group +                     (llsd::array("freena_map_allreq", "smethodna_map_allreq", "methodna_map_allreq"), +                      llsd::array(allreq["a"], LLSD())),  // required, optional -                    (LLSDArray        // group -                     (LLSDArray("freenb_map_allreq")("smethodnb_map_allreq")("methodnb_map_allreq")) -                     (LLSDArray(allreq["b"])(LLSD()))) // required, optional +                     llsd::array        // group +                     (llsd::array("freenb_map_allreq", "smethodnb_map_allreq", "methodnb_map_allreq"), +                      llsd::array(allreq["b"], LLSD())),  // required, optional -                    (LLSDArray        // group -                     (LLSDArray("freena_map_leftreq")("smethodna_map_leftreq")("methodna_map_leftreq")) -                     (LLSDArray(leftreq["a"])(rightdft["a"]))) // required, optional +                     llsd::array        // group +                     (llsd::array("freena_map_leftreq", "smethodna_map_leftreq", "methodna_map_leftreq"), +                      llsd::array(leftreq["a"], rightdft["a"])),  // required, optional -                    (LLSDArray        // group -                     (LLSDArray("freenb_map_leftreq")("smethodnb_map_leftreq")("methodnb_map_leftreq")) -                     (LLSDArray(leftreq["b"])(rightdft["b"]))) // required, optional +                     llsd::array        // group +                     (llsd::array("freenb_map_leftreq", "smethodnb_map_leftreq", "methodnb_map_leftreq"), +                      llsd::array(leftreq["b"], rightdft["b"])),  // required, optional -                    (LLSDArray        // group -                     (LLSDArray("freena_map_skipreq")("smethodna_map_skipreq")("methodna_map_skipreq")) -                     (LLSDArray(skipreq["a"])(dft_map_partial["a"]))) // required, optional +                     llsd::array        // group +                     (llsd::array("freena_map_skipreq", "smethodna_map_skipreq", "methodna_map_skipreq"), +                      llsd::array(skipreq["a"], dft_map_partial["a"])),  // required, optional -                    (LLSDArray        // group -                     (LLSDArray("freenb_map_skipreq")("smethodnb_map_skipreq")("methodnb_map_skipreq")) -                     (LLSDArray(skipreq["b"])(dft_map_partial["b"]))) // required, optional +                     llsd::array        // group +                     (llsd::array("freenb_map_skipreq", "smethodnb_map_skipreq", "methodnb_map_skipreq"), +                      llsd::array(skipreq["b"], dft_map_partial["b"])),  // required, optional -                    // We only need mention the full-map-defaults ("_mdft" suffix) -                    // registrations, having established their equivalence with the -                    // full-array-defaults ("_adft" suffix) registrations in another test. -                    (LLSDArray        // group -                     (LLSDArray("freena_map_mdft")("smethodna_map_mdft")("methodna_map_mdft")) -                     (LLSDArray(LLSD::emptyMap())(dft_map_full["a"]))) // required, optional +                     // We only need mention the full-map-defaults ("_mdft" suffix) +                     // registrations, having established their equivalence with the +                     // full-array-defaults ("_adft" suffix) registrations in another test. +                     llsd::array        // group +                     (llsd::array("freena_map_mdft", "smethodna_map_mdft", "methodna_map_mdft"), +                      llsd::array(LLSD::emptyMap(), dft_map_full["a"])),  // required, optional -                    (LLSDArray        // group -                     (LLSDArray("freenb_map_mdft")("smethodnb_map_mdft")("methodnb_map_mdft")) -                     (LLSDArray(LLSD::emptyMap())(dft_map_full["b"])))); // required, optional +                     llsd::array        // group +                     (llsd::array("freenb_map_mdft", "smethodnb_map_mdft", "methodnb_map_mdft"), +                      llsd::array(LLSD::emptyMap(), dft_map_full["b"])))); // required, optional          foreach(LLSD grp, inArray(groups))          { @@ -1077,7 +1077,7 @@ namespace tut          // with 'required'.          LLSD answer(42);          // LLSD value matching 'required' according to llsd_matches() rules. -        LLSD matching(LLSDMap("d", 3.14)("array", LLSDArray("answer")(true)(answer))); +        LLSD matching(LLSDMap("d", 3.14)("array", llsd::array("answer", true, answer)));          // Okay, walk through 'tests'.          foreach(const CallablesTriple& tr, tests)          { @@ -1114,17 +1114,17 @@ namespace tut          call_exc("free0_map", 17, map_exc);          // Passing an array to a map-style function works now! No longer an          // error case! -//      call_exc("free0_map", LLSDArray("a")("b"), map_exc); +//      call_exc("free0_map", llsd::array("a", "b"), map_exc);      }      template<> template<>      void object::test<18>()      {          set_test_name("call no-args functions"); -        LLSD names(LLSDArray -                   ("free0_array")("free0_map") -                   ("smethod0_array")("smethod0_map") -                   ("method0_array")("method0_map")); +        LLSD names(llsd::array +                   ("free0_array", "free0_map", +                    "smethod0_array", "smethod0_map", +                    "method0_array", "method0_map"));          foreach(LLSD name, inArray(names))          {              // Look up the Vars instance for this function. @@ -1142,10 +1142,10 @@ namespace tut      }      // Break out this data because we use it in a couple different tests. -    LLSD array_funcs(LLSDArray -                     (LLSDMap("a", "freena_array")   ("b", "freenb_array")) -                     (LLSDMap("a", "smethodna_array")("b", "smethodnb_array")) -                     (LLSDMap("a", "methodna_array") ("b", "methodnb_array"))); +    LLSD array_funcs(llsd::array +                     (LLSDMap("a", "freena_array")   ("b", "freenb_array"), +                      LLSDMap("a", "smethodna_array")("b", "smethodnb_array"), +                      LLSDMap("a", "methodna_array") ("b", "methodnb_array")));      template<> template<>      void object::test<19>() @@ -1153,7 +1153,7 @@ namespace tut          set_test_name("call array-style functions with too-short arrays");          // Could have two different too-short arrays, one for *na and one for          // *nb, but since they both take 5 params... -        LLSD tooshort(LLSDArray("this")("array")("too")("short")); +        LLSD tooshort(llsd::array("this", "array", "too", "short"));          foreach(const LLSD& funcsab, inArray(array_funcs))          {              foreach(const llsd::MapEntry& e, inMap(funcsab)) @@ -1172,12 +1172,12 @@ namespace tut          {              binary.push_back((U8)h);          } -        LLSD args(LLSDMap("a", LLSDArray(true)(17)(3.14)(123.456)("char*")) -                         ("b", LLSDArray("string") -                                        (LLUUID("01234567-89ab-cdef-0123-456789abcdef")) -                                        (LLDate("2011-02-03T15:07:00Z")) -                                        (LLURI("http://secondlife.com")) -                                        (binary))); +        LLSD args(LLSDMap("a", llsd::array(true, 17, 3.14, 123.456, "char*")) +                         ("b", llsd::array("string", +                                           LLUUID("01234567-89ab-cdef-0123-456789abcdef"), +                                           LLDate("2011-02-03T15:07:00Z"), +                                           LLURI("http://secondlife.com"), +                                           binary)));          LLSD argsplus(args);          argsplus["a"].append("bogus");          argsplus["b"].append("bogus"); @@ -1191,7 +1191,7 @@ namespace tut          debug("expect: ", expect);          // Use substantially the same logic for args and argsplus -        LLSD argsarrays(LLSDArray(args)(argsplus)); +        LLSD argsarrays(llsd::array(args, argsplus));          // So i==0 selects 'args', i==1 selects argsplus          for (LLSD::Integer i(0), iend(argsarrays.size()); i < iend; ++i)          { @@ -1236,8 +1236,8 @@ namespace tut          set_test_name("call map-style functions with (full | oversized) (arrays | maps)");          const char binary[] = "\x99\x88\x77\x66\x55";          LLSD array_full(LLSDMap -                        ("a", LLSDArray(false)(255)(98.6)(1024.5)("pointer")) -                        ("b", LLSDArray("object")(LLUUID::generateNewID())(LLDate::now())(LLURI("http://wiki.lindenlab.com/wiki"))(LLSD::Binary(boost::begin(binary), boost::end(binary))))); +                        ("a", llsd::array(false, 255, 98.6, 1024.5, "pointer")) +                        ("b", llsd::array("object", LLUUID::generateNewID(), LLDate::now(), LLURI("http://wiki.lindenlab.com/wiki"), LLSD::Binary(boost::begin(binary), boost::end(binary)))));          LLSD array_overfull(array_full);          foreach(LLSD::String a, ab)          { @@ -1280,20 +1280,20 @@ namespace tut          // parameter defaults should make NO DIFFERENCE WHATSOEVER. Every call          // should pass all params.          LLSD names(LLSDMap -                   ("a", LLSDArray -                         ("freena_map_allreq") ("smethodna_map_allreq") ("methodna_map_allreq") -                         ("freena_map_leftreq")("smethodna_map_leftreq")("methodna_map_leftreq") -                         ("freena_map_skipreq")("smethodna_map_skipreq")("methodna_map_skipreq") -                         ("freena_map_adft")   ("smethodna_map_adft")   ("methodna_map_adft") -                         ("freena_map_mdft")   ("smethodna_map_mdft")   ("methodna_map_mdft")) -                   ("b", LLSDArray -                         ("freenb_map_allreq") ("smethodnb_map_allreq") ("methodnb_map_allreq") -                         ("freenb_map_leftreq")("smethodnb_map_leftreq")("methodnb_map_leftreq") -                         ("freenb_map_skipreq")("smethodnb_map_skipreq")("methodnb_map_skipreq") -                         ("freenb_map_adft")   ("smethodnb_map_adft")   ("methodnb_map_adft") -                         ("freenb_map_mdft")   ("smethodnb_map_mdft")   ("methodnb_map_mdft"))); +                   ("a", llsd::array +                    ("freena_map_allreq",  "smethodna_map_allreq",  "methodna_map_allreq", +                     "freena_map_leftreq", "smethodna_map_leftreq", "methodna_map_leftreq", +                     "freena_map_skipreq", "smethodna_map_skipreq", "methodna_map_skipreq", +                     "freena_map_adft",    "smethodna_map_adft",    "methodna_map_adft", +                     "freena_map_mdft",    "smethodna_map_mdft",    "methodna_map_mdft")) +                   ("b", llsd::array +                    ("freenb_map_allreq",  "smethodnb_map_allreq",  "methodnb_map_allreq", +                     "freenb_map_leftreq", "smethodnb_map_leftreq", "methodnb_map_leftreq", +                     "freenb_map_skipreq", "smethodnb_map_skipreq", "methodnb_map_skipreq", +                     "freenb_map_adft",    "smethodnb_map_adft",    "methodnb_map_adft", +                     "freenb_map_mdft",    "smethodnb_map_mdft",    "methodnb_map_mdft")));          // Treat (full | overfull) (array | map) the same. -        LLSD argssets(LLSDArray(array_full)(array_overfull)(map_full)(map_overfull)); +        LLSD argssets(llsd::array(array_full, array_overfull, map_full, map_overfull));          foreach(const LLSD& args, inArray(argssets))          {              foreach(LLSD::String a, ab) diff --git a/indra/llcommon/tests/llsdserialize_test.cpp b/indra/llcommon/tests/llsdserialize_test.cpp index c246f5ee56..5dbcf4c9b8 100644 --- a/indra/llcommon/tests/llsdserialize_test.cpp +++ b/indra/llcommon/tests/llsdserialize_test.cpp @@ -1817,10 +1817,10 @@ namespace tut      {          set_test_name("verify sequence to Python"); -        LLSD cdata(LLSDArray(17)(3.14) -                  ("This string\n" -                   "has several\n" -                   "lines.")); +        LLSD cdata(llsd::array(17, 3.14, +                               "This string\n" +                               "has several\n" +                               "lines."));          const char pydata[] =              "def verify(iterable):\n" diff --git a/indra/llinventory/llsettingsdaycycle.cpp b/indra/llinventory/llsettingsdaycycle.cpp index 241826604f..42dd5e3d10 100644 --- a/indra/llinventory/llsettingsdaycycle.cpp +++ b/indra/llinventory/llsettingsdaycycle.cpp @@ -440,8 +440,8 @@ LLSD LLSettingsDay::defaults()          }          LLSD tracks; -        tracks.append(LLSDArray(waterTrack)); -        tracks.append(LLSDArray(skyTrack)); +        tracks.append(llsd::array(waterTrack)); +        tracks.append(llsd::array(skyTrack));          dfltsetting[SETTING_TRACKS] = tracks;          dfltsetting[SETTING_FRAMES] = frames; diff --git a/indra/llinventory/llsettingssky.cpp b/indra/llinventory/llsettingssky.cpp index 8e801db2dc..e07858697e 100644 --- a/indra/llinventory/llsettingssky.cpp +++ b/indra/llinventory/llsettingssky.cpp @@ -154,24 +154,24 @@ LLSettingsSky::validation_list_t legacyHazeValidationList()      {          legacyHazeValidation.push_back(LLSettingsBase::Validator(LLSettingsSky::SETTING_AMBIENT,             false,  LLSD::TypeArray,               boost::bind(&LLSettingsBase::Validator::verifyVectorMinMax, _1, _2, -                LLSD(LLSDArray(0.0f)(0.0f)(0.0f)("*")), -                LLSD(LLSDArray(3.0f)(3.0f)(3.0f)("*"))))); +                llsd::array(0.0f, 0.0f, 0.0f, "*"), +                llsd::array(3.0f, 3.0f, 3.0f, "*"))));          legacyHazeValidation.push_back(LLSettingsBase::Validator(LLSettingsSky::SETTING_BLUE_DENSITY,        false,  LLSD::TypeArray,               boost::bind(&LLSettingsBase::Validator::verifyVectorMinMax, _1, _2, -                LLSD(LLSDArray(0.0f)(0.0f)(0.0f)("*")), -                LLSD(LLSDArray(3.0f)(3.0f)(3.0f)("*"))))); +                llsd::array(0.0f, 0.0f, 0.0f, "*"), +                llsd::array(3.0f, 3.0f, 3.0f, "*"))));          legacyHazeValidation.push_back(LLSettingsBase::Validator(LLSettingsSky::SETTING_BLUE_HORIZON,        false,  LLSD::TypeArray,               boost::bind(&LLSettingsBase::Validator::verifyVectorMinMax, _1, _2, -                LLSD(LLSDArray(0.0f)(0.0f)(0.0f)("*")), -                LLSD(LLSDArray(3.0f)(3.0f)(3.0f)("*"))))); +                llsd::array(0.0f, 0.0f, 0.0f, "*"), +                llsd::array(3.0f, 3.0f, 3.0f, "*"))));          legacyHazeValidation.push_back(LLSettingsBase::Validator(LLSettingsSky::SETTING_HAZE_DENSITY,        false,  LLSD::TypeReal,   -            boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.0f)(5.0f))))); +            boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, llsd::array(0.0f, 5.0f))));          legacyHazeValidation.push_back(LLSettingsBase::Validator(LLSettingsSky::SETTING_HAZE_HORIZON,        false,  LLSD::TypeReal,   -            boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.0f)(5.0f))))); +            boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, llsd::array(0.0f, 5.0f))));          legacyHazeValidation.push_back(LLSettingsBase::Validator(LLSettingsSky::SETTING_DENSITY_MULTIPLIER,  false,  LLSD::TypeReal,   -            boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.0001f)(2.0f))))); +            boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, llsd::array(0.0001f, 2.0f))));          legacyHazeValidation.push_back(LLSettingsBase::Validator(LLSettingsSky::SETTING_DISTANCE_MULTIPLIER, false,  LLSD::TypeReal, -            boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.0001f)(1000.0f))))); +            boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, llsd::array(0.0001f, 1000.0f))));      }      return legacyHazeValidation;  } @@ -182,19 +182,19 @@ LLSettingsSky::validation_list_t rayleighValidationList()      if (rayleighValidation.empty())      {          rayleighValidation.push_back(LLSettingsBase::Validator(LLSettingsSky::SETTING_DENSITY_PROFILE_WIDTH,      false,  LLSD::TypeReal,   -            boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.0f)(32768.0f))))); +            boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, llsd::array(0.0f, 32768.0f))));          rayleighValidation.push_back(LLSettingsBase::Validator(LLSettingsSky::SETTING_DENSITY_PROFILE_EXP_TERM,   false,  LLSD::TypeReal,   -            boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.0f)(2.0f))))); +            boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, llsd::array(0.0f, 2.0f))));          rayleighValidation.push_back(LLSettingsBase::Validator(LLSettingsSky::SETTING_DENSITY_PROFILE_EXP_SCALE_FACTOR, false,  LLSD::TypeReal,   -            boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(-1.0f)(1.0f))))); +            boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, llsd::array(-1.0f, 1.0f))));          rayleighValidation.push_back(LLSettingsBase::Validator(LLSettingsSky::SETTING_DENSITY_PROFILE_LINEAR_TERM, false,  LLSD::TypeReal,   -            boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.0f)(2.0f))))); +            boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, llsd::array(0.0f, 2.0f))));          rayleighValidation.push_back(LLSettingsBase::Validator(LLSettingsSky::SETTING_DENSITY_PROFILE_CONSTANT_TERM, false,  LLSD::TypeReal,   -            boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.0f)(1.0f))))); +            boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, llsd::array(0.0f, 1.0f))));      }      return rayleighValidation;  } @@ -205,19 +205,19 @@ LLSettingsSky::validation_list_t absorptionValidationList()      if (absorptionValidation.empty())      {          absorptionValidation.push_back(LLSettingsBase::Validator(LLSettingsSky::SETTING_DENSITY_PROFILE_WIDTH,      false,  LLSD::TypeReal,   -            boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.0f)(32768.0f))))); +            boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, llsd::array(0.0f, 32768.0f))));          absorptionValidation.push_back(LLSettingsBase::Validator(LLSettingsSky::SETTING_DENSITY_PROFILE_EXP_TERM,   false,  LLSD::TypeReal,   -            boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.0f)(2.0f))))); +            boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, llsd::array(0.0f, 2.0f))));          absorptionValidation.push_back(LLSettingsBase::Validator(LLSettingsSky::SETTING_DENSITY_PROFILE_EXP_SCALE_FACTOR, false,  LLSD::TypeReal,   -            boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(-1.0f)(1.0f))))); +            boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, llsd::array(-1.0f, 1.0f))));          absorptionValidation.push_back(LLSettingsBase::Validator(LLSettingsSky::SETTING_DENSITY_PROFILE_LINEAR_TERM, false,  LLSD::TypeReal,   -            boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.0f)(2.0f))))); +            boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, llsd::array(0.0f, 2.0f))));          absorptionValidation.push_back(LLSettingsBase::Validator(LLSettingsSky::SETTING_DENSITY_PROFILE_CONSTANT_TERM, false,  LLSD::TypeReal,   -            boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.0f)(1.0f))))); +            boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, llsd::array(0.0f, 1.0f))));      }      return absorptionValidation;  } @@ -228,22 +228,22 @@ LLSettingsSky::validation_list_t mieValidationList()      if (mieValidation.empty())      {          mieValidation.push_back(LLSettingsBase::Validator(LLSettingsSky::SETTING_DENSITY_PROFILE_WIDTH,      false,  LLSD::TypeReal,   -            boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.0f)(32768.0f))))); +            boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, llsd::array(0.0f, 32768.0f))));          mieValidation.push_back(LLSettingsBase::Validator(LLSettingsSky::SETTING_DENSITY_PROFILE_EXP_TERM,   false,  LLSD::TypeReal,   -            boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.0f)(2.0f))))); +            boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, llsd::array(0.0f, 2.0f))));          mieValidation.push_back(LLSettingsBase::Validator(LLSettingsSky::SETTING_DENSITY_PROFILE_EXP_SCALE_FACTOR, false,  LLSD::TypeReal,   -            boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(-1.0f)(1.0f))))); +            boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, llsd::array(-1.0f, 1.0f))));          mieValidation.push_back(LLSettingsBase::Validator(LLSettingsSky::SETTING_DENSITY_PROFILE_LINEAR_TERM, false,  LLSD::TypeReal,   -            boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.0f)(2.0f))))); +            boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, llsd::array(0.0f, 2.0f))));          mieValidation.push_back(LLSettingsBase::Validator(LLSettingsSky::SETTING_DENSITY_PROFILE_CONSTANT_TERM, false,  LLSD::TypeReal,   -            boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.0f)(1.0f))))); +            boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, llsd::array(0.0f, 1.0f))));          mieValidation.push_back(LLSettingsBase::Validator(LLSettingsSky::SETTING_MIE_ANISOTROPY_FACTOR, false,  LLSD::TypeReal,   -            boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.0f)(1.0f))))); +            boost::bind(&LLSettingsBase::Validator::verifyFloatRange, _1, _2, llsd::array(0.0f, 1.0f))));      }      return mieValidation;  } @@ -548,89 +548,86 @@ LLSettingsSky::validation_list_t LLSettingsSky::validationList()      static validation_list_t validation;      if (validation.empty()) -    {   // Note the use of LLSD(LLSDArray()()()...) This is due to an issue with the  -        // copy constructor for LLSDArray.  Directly binding the LLSDArray as  -        // a parameter without first wrapping it in a pure LLSD object will result  -        // in deeply nested arrays like this [[[[[[[[[[v1,v2,v3]]]]]]]]]] +    {          validation.push_back(Validator(SETTING_BLOOM_TEXTUREID,     true,  LLSD::TypeUUID));          validation.push_back(Validator(SETTING_RAINBOW_TEXTUREID,   false,  LLSD::TypeUUID));          validation.push_back(Validator(SETTING_HALO_TEXTUREID,      false,  LLSD::TypeUUID));          validation.push_back(Validator(SETTING_CLOUD_COLOR,         true,  LLSD::TypeArray,               boost::bind(&Validator::verifyVectorMinMax, _1, _2, -                LLSD(LLSDArray(0.0f)(0.0f)(0.0f)("*")), -                LLSD(LLSDArray(1.0f)(1.0f)(1.0f)("*"))))); +                llsd::array(0.0f, 0.0f, 0.0f, "*"), +                llsd::array(1.0f, 1.0f, 1.0f, "*"))));          validation.push_back(Validator(SETTING_CLOUD_POS_DENSITY1,  true,  LLSD::TypeArray,               boost::bind(&Validator::verifyVectorMinMax, _1, _2, -                LLSD(LLSDArray(0.0f)(0.0f)(0.0f)("*")), -                LLSD(LLSDArray(1.0f)(1.0f)(3.0f)("*"))))); +                llsd::array(0.0f, 0.0f, 0.0f, "*"), +                llsd::array(1.0f, 1.0f, 3.0f, "*"))));          validation.push_back(Validator(SETTING_CLOUD_POS_DENSITY2,  true,  LLSD::TypeArray,               boost::bind(&Validator::verifyVectorMinMax, _1, _2, -                LLSD(LLSDArray(0.0f)(0.0f)(0.0f)("*")), -                LLSD(LLSDArray(1.0f)(1.0f)(1.0f)("*"))))); +                llsd::array(0.0f, 0.0f, 0.0f, "*"), +                llsd::array(1.0f, 1.0f, 1.0f, "*"))));          validation.push_back(Validator(SETTING_CLOUD_SCALE,         true,  LLSD::TypeReal,   -            boost::bind(&Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.001f)(3.0f))))); +            boost::bind(&Validator::verifyFloatRange, _1, _2, llsd::array(0.001f, 3.0f))));          validation.push_back(Validator(SETTING_CLOUD_SCROLL_RATE,   true,  LLSD::TypeArray,               boost::bind(&Validator::verifyVectorMinMax, _1, _2, -                LLSD(LLSDArray(-50.0f)(-50.0f)), -                LLSD(LLSDArray(50.0f)(50.0f))))); +                llsd::array(-50.0f, -50.0f), +                llsd::array(50.0f, 50.0f))));          validation.push_back(Validator(SETTING_CLOUD_SHADOW,        true,  LLSD::TypeReal,   -            boost::bind(&Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.0f)(1.0f))))); +            boost::bind(&Validator::verifyFloatRange, _1, _2, llsd::array(0.0f, 1.0f))));          validation.push_back(Validator(SETTING_CLOUD_TEXTUREID,     false, LLSD::TypeUUID));          validation.push_back(Validator(SETTING_CLOUD_VARIANCE,      false,  LLSD::TypeReal,   -            boost::bind(&Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.0f)(1.0f))))); +            boost::bind(&Validator::verifyFloatRange, _1, _2, llsd::array(0.0f, 1.0f))));          validation.push_back(Validator(SETTING_DOME_OFFSET,         false, LLSD::TypeReal,   -            boost::bind(&Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.0f)(1.0f))))); +            boost::bind(&Validator::verifyFloatRange, _1, _2, llsd::array(0.0f, 1.0f))));          validation.push_back(Validator(SETTING_DOME_RADIUS,         false, LLSD::TypeReal,   -            boost::bind(&Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(1000.0f)(2000.0f))))); +            boost::bind(&Validator::verifyFloatRange, _1, _2, llsd::array(1000.0f, 2000.0f))));          validation.push_back(Validator(SETTING_GAMMA,               true,  LLSD::TypeReal,   -            boost::bind(&Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.0f)(20.0f))))); +            boost::bind(&Validator::verifyFloatRange, _1, _2, llsd::array(0.0f, 20.0f))));          validation.push_back(Validator(SETTING_GLOW,                true,  LLSD::TypeArray,               boost::bind(&Validator::verifyVectorMinMax, _1, _2, -                LLSD(LLSDArray(0.2f)("*")(-10.0f)("*")), -                LLSD(LLSDArray(40.0f)("*")(10.0f)("*"))))); +                llsd::array(0.2f, "*", -10.0f, "*"), +                llsd::array(40.0f, "*", 10.0f, "*"))));          validation.push_back(Validator(SETTING_MAX_Y,               true,  LLSD::TypeReal,   -            boost::bind(&Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.0f)(10000.0f))))); +            boost::bind(&Validator::verifyFloatRange, _1, _2, llsd::array(0.0f, 10000.0f))));          validation.push_back(Validator(SETTING_MOON_ROTATION,       true,  LLSD::TypeArray, &Validator::verifyQuaternionNormal));          validation.push_back(Validator(SETTING_MOON_SCALE,          false, LLSD::TypeReal, -                boost::bind(&Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.25f)(20.0f))), LLSD::Real(1.0))); +                boost::bind(&Validator::verifyFloatRange, _1, _2, llsd::array(0.25f, 20.0f)), LLSD::Real(1.0)));          validation.push_back(Validator(SETTING_MOON_TEXTUREID,      false, LLSD::TypeUUID));          validation.push_back(Validator(SETTING_MOON_BRIGHTNESS,     false,  LLSD::TypeReal,  -            boost::bind(&Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.0f)(1.0f))))); +            boost::bind(&Validator::verifyFloatRange, _1, _2, llsd::array(0.0f, 1.0f))));          validation.push_back(Validator(SETTING_STAR_BRIGHTNESS,     true,  LLSD::TypeReal,  -            boost::bind(&Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.0f)(500.0f))))); +            boost::bind(&Validator::verifyFloatRange, _1, _2, llsd::array(0.0f, 500.0f))));          validation.push_back(Validator(SETTING_SUNLIGHT_COLOR,      true,  LLSD::TypeArray,               boost::bind(&Validator::verifyVectorMinMax, _1, _2, -                LLSD(LLSDArray(0.0f)(0.0f)(0.0f)("*")), -                LLSD(LLSDArray(3.0f)(3.0f)(3.0f)("*"))))); +                llsd::array(0.0f, 0.0f, 0.0f, "*"), +                llsd::array(3.0f, 3.0f, 3.0f, "*"))));          validation.push_back(Validator(SETTING_SUN_ROTATION,        true,  LLSD::TypeArray, &Validator::verifyQuaternionNormal));          validation.push_back(Validator(SETTING_SUN_SCALE,           false, LLSD::TypeReal, -            boost::bind(&Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.25f)(20.0f))), LLSD::Real(1.0))); +            boost::bind(&Validator::verifyFloatRange, _1, _2, llsd::array(0.25f, 20.0f)), LLSD::Real(1.0)));          validation.push_back(Validator(SETTING_SUN_TEXTUREID, false, LLSD::TypeUUID));          validation.push_back(Validator(SETTING_PLANET_RADIUS,       true,  LLSD::TypeReal,   -            boost::bind(&Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(1000.0f)(32768.0f))))); +            boost::bind(&Validator::verifyFloatRange, _1, _2, llsd::array(1000.0f, 32768.0f))));          validation.push_back(Validator(SETTING_SKY_BOTTOM_RADIUS,   true,  LLSD::TypeReal,   -            boost::bind(&Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(1000.0f)(32768.0f))))); +            boost::bind(&Validator::verifyFloatRange, _1, _2, llsd::array(1000.0f, 32768.0f))));          validation.push_back(Validator(SETTING_SKY_TOP_RADIUS,       true,  LLSD::TypeReal,   -            boost::bind(&Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(1000.0f)(32768.0f))))); +            boost::bind(&Validator::verifyFloatRange, _1, _2, llsd::array(1000.0f, 32768.0f))));          validation.push_back(Validator(SETTING_SUN_ARC_RADIANS,      true,  LLSD::TypeReal,   -            boost::bind(&Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.0f)(0.1f))))); +            boost::bind(&Validator::verifyFloatRange, _1, _2, llsd::array(0.0f, 0.1f))));          validation.push_back(Validator(SETTING_SKY_MOISTURE_LEVEL,      false,  LLSD::TypeReal,   -            boost::bind(&Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.0f)(1.0f))))); +            boost::bind(&Validator::verifyFloatRange, _1, _2, llsd::array(0.0f, 1.0f))));          validation.push_back(Validator(SETTING_SKY_DROPLET_RADIUS,      false,  LLSD::TypeReal,   -            boost::bind(&Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(5.0f)(1000.0f))))); +            boost::bind(&Validator::verifyFloatRange, _1, _2, llsd::array(5.0f, 1000.0f))));          validation.push_back(Validator(SETTING_SKY_ICE_LEVEL,      false,  LLSD::TypeReal,   -            boost::bind(&Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.0f)(1.0f))))); +            boost::bind(&Validator::verifyFloatRange, _1, _2, llsd::array(0.0f, 1.0f))));          validation.push_back(Validator(SETTING_REFLECTION_PROBE_AMBIANCE, false, LLSD::TypeReal,              boost::bind(&Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.0f)(10.0f))))); @@ -724,7 +721,7 @@ LLSD LLSettingsSky::defaults(const LLSettingsBase::TrackPosition& position)          dfltsetting[SETTING_CLOUD_POS_DENSITY1] = LLColor4(1.0000, 0.5260, 1.0000, 0.0).getValue();          dfltsetting[SETTING_CLOUD_POS_DENSITY2] = LLColor4(1.0000, 0.5260, 1.0000, 0.0).getValue();          dfltsetting[SETTING_CLOUD_SCALE]        = LLSD::Real(0.4199); -        dfltsetting[SETTING_CLOUD_SCROLL_RATE]  = LLSDArray(0.0f)(0.0f); +        dfltsetting[SETTING_CLOUD_SCROLL_RATE]  = llsd::array(0.0f, 0.0f);          dfltsetting[SETTING_CLOUD_SHADOW]       = LLSD::Real(0.2699);          dfltsetting[SETTING_CLOUD_VARIANCE]     = LLSD::Real(0.0); diff --git a/indra/llinventory/llsettingswater.cpp b/indra/llinventory/llsettingswater.cpp index 90f99e8198..f19beb5be5 100644 --- a/indra/llinventory/llsettingswater.cpp +++ b/indra/llinventory/llsettingswater.cpp @@ -222,42 +222,38 @@ LLSettingsWater::validation_list_t LLSettingsWater::validationList()      static validation_list_t validation;      if (validation.empty()) -    {   // Note the use of LLSD(LLSDArray()()()...) This is due to an issue with the  -        // copy constructor for LLSDArray.  Directly binding the LLSDArray as  -        // a parameter without first wrapping it in a pure LLSD object will result  -        // in deeply nested arrays like this [[[[[[[[[[v1,v2,v3]]]]]]]]]] - +    {          validation.push_back(Validator(SETTING_BLUR_MULTIPLIER, true, LLSD::TypeReal, -            boost::bind(&Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(-0.5f)(0.5f))))); +            boost::bind(&Validator::verifyFloatRange, _1, _2, llsd::array(-0.5f, 0.5f))));          validation.push_back(Validator(SETTING_FOG_COLOR, true, LLSD::TypeArray,              boost::bind(&Validator::verifyVectorMinMax, _1, _2, -                LLSD(LLSDArray(0.0f)(0.0f)(0.0f)(1.0f)), -                LLSD(LLSDArray(1.0f)(1.0f)(1.0f)(1.0f))))); +                llsd::array(0.0f, 0.0f, 0.0f, 1.0f), +                llsd::array(1.0f, 1.0f, 1.0f, 1.0f))));          validation.push_back(Validator(SETTING_FOG_DENSITY, true, LLSD::TypeReal, -            boost::bind(&Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(-10.0f)(10.0f))))); +            boost::bind(&Validator::verifyFloatRange, _1, _2, llsd::array(-10.0f, 10.0f))));          validation.push_back(Validator(SETTING_FOG_MOD, true, LLSD::TypeReal, -            boost::bind(&Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.0f)(20.0f))))); +            boost::bind(&Validator::verifyFloatRange, _1, _2, llsd::array(0.0f, 20.0f))));          validation.push_back(Validator(SETTING_FRESNEL_OFFSET, true, LLSD::TypeReal, -            boost::bind(&Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.0f)(1.0f))))); +            boost::bind(&Validator::verifyFloatRange, _1, _2, llsd::array(0.0f, 1.0f))));          validation.push_back(Validator(SETTING_FRESNEL_SCALE, true, LLSD::TypeReal, -            boost::bind(&Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.0f)(1.0f))))); +            boost::bind(&Validator::verifyFloatRange, _1, _2, llsd::array(0.0f, 1.0f))));          validation.push_back(Validator(SETTING_NORMAL_MAP, true, LLSD::TypeUUID));          validation.push_back(Validator(SETTING_NORMAL_SCALE, true, LLSD::TypeArray,              boost::bind(&Validator::verifyVectorMinMax, _1, _2, -                LLSD(LLSDArray(0.0f)(0.0f)(0.0f)), -                LLSD(LLSDArray(10.0f)(10.0f)(10.0f))))); +                llsd::array(0.0f, 0.0f, 0.0f), +                llsd::array(10.0f, 10.0f, 10.0f))));          validation.push_back(Validator(SETTING_SCALE_ABOVE, true, LLSD::TypeReal, -            boost::bind(&Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.0f)(3.0f))))); +            boost::bind(&Validator::verifyFloatRange, _1, _2, llsd::array(0.0f, 3.0f))));          validation.push_back(Validator(SETTING_SCALE_BELOW, true, LLSD::TypeReal, -            boost::bind(&Validator::verifyFloatRange, _1, _2, LLSD(LLSDArray(0.0f)(3.0f))))); +            boost::bind(&Validator::verifyFloatRange, _1, _2, llsd::array(0.0f, 3.0f))));          validation.push_back(Validator(SETTING_WAVE1_DIR, true, LLSD::TypeArray,              boost::bind(&Validator::verifyVectorMinMax, _1, _2, -                LLSD(LLSDArray(-20.0f)(-20.0f)), -                LLSD(LLSDArray(20.0f)(20.0f))))); +                llsd::array(-20.0f, -20.0f), +                llsd::array(20.0f, 20.0f))));          validation.push_back(Validator(SETTING_WAVE2_DIR, true, LLSD::TypeArray,              boost::bind(&Validator::verifyVectorMinMax, _1, _2, -                LLSD(LLSDArray(-20.0f)(-20.0f)), -                LLSD(LLSDArray(20.0f)(20.0f))))); +                llsd::array(-20.0f, -20.0f), +                llsd::array(20.0f, 20.0f))));      }      return validation; diff --git a/indra/newview/groupchatlistener.cpp b/indra/newview/groupchatlistener.cpp index ef015a950d..a05caa961b 100644 --- a/indra/newview/groupchatlistener.cpp +++ b/indra/newview/groupchatlistener.cpp @@ -64,11 +64,11 @@ GroupChatListener::GroupChatListener():          "Leave a group chat in group with UUID [\"id\"]\n"          "Assumes a prior successful startIM request.",          &LLGroupActions::endIM, -        LLSDArray("id")); -	add("sendIM", -		"send a groupchat IM", -		&send_message_wrapper, -        LLSDArray("text")("session_id")("group_id")); +        llsd::array("id")); +    add("sendIM", +        "send a groupchat IM", +        &send_message_wrapper, +        llsd::array("text", "session_id", "group_id"));  }  /*  	static void sendMessage(const std::string& utf8_text, const LLUUID& im_session_id, diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index b2349e9f74..6efbaeacf7 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -3191,15 +3191,16 @@ LLSD LLAppViewer::getViewerInfo() const  	// LLFloaterAbout.  	LLSD info;  	auto& versionInfo(LLVersionInfo::instance()); -	info["VIEWER_VERSION"] = LLSDArray(versionInfo.getMajor())(versionInfo.getMinor())(versionInfo.getPatch())(versionInfo.getBuild()); +	info["VIEWER_VERSION"] = llsd::array(versionInfo.getMajor(), versionInfo.getMinor(), +										 versionInfo.getPatch(), versionInfo.getBuild());  	info["VIEWER_VERSION_STR"] = versionInfo.getVersion();  	info["CHANNEL"] = versionInfo.getChannel(); -    info["ADDRESS_SIZE"] = ADDRESS_SIZE; -    std::string build_config = versionInfo.getBuildConfig(); -    if (build_config != "Release") -    { -        info["BUILD_CONFIG"] = build_config; -    } +	info["ADDRESS_SIZE"] = ADDRESS_SIZE; +	std::string build_config = versionInfo.getBuildConfig(); +	if (build_config != "Release") +	{ +		info["BUILD_CONFIG"] = build_config; +	}  	// return a URL to the release notes for this viewer, such as:  	// https://releasenotes.secondlife.com/viewer/2.1.0.123456.html diff --git a/indra/newview/llfloatereditsky.cpp b/indra/newview/llfloatereditsky.cpp index 6bdc5ee823..2d5e86869d 100644 --- a/indra/newview/llfloatereditsky.cpp +++ b/indra/newview/llfloatereditsky.cpp @@ -523,7 +523,7 @@ void LLFloaterEditSky::refreshSkyPresetsList()      for (LLEnvironment::list_name_id_t::iterator it = list.begin(); it != list.end(); ++it)      { -        mSkyPresetCombo->add((*it).first, LLSDArray((*it).first)((*it).second)); +        mSkyPresetCombo->add((*it).first, llsd::array((*it).first, (*it).second));      }  	mSkyPresetCombo->setLabel(getString("combo_label")); diff --git a/indra/newview/llfloatereditwater.cpp b/indra/newview/llfloatereditwater.cpp index 6e7b777e70..c44ae7faca 100644 --- a/indra/newview/llfloatereditwater.cpp +++ b/indra/newview/llfloatereditwater.cpp @@ -335,7 +335,7 @@ void LLFloaterEditWater::refreshWaterPresetsList()      for (LLEnvironment::list_name_id_t::iterator it = list.begin(); it != list.end(); ++it)      { -        mWaterPresetCombo->add((*it).first, LLSDArray((*it).first)((*it).second)); +        mWaterPresetCombo->add((*it).first, llsd::array((*it).first, (*it).second));      }  	mWaterPresetCombo->setLabel(getString("combo_label")); diff --git a/indra/newview/llsettingsvo.cpp b/indra/newview/llsettingsvo.cpp index 1427dbefa1..a7a5a9223c 100644 --- a/indra/newview/llsettingsvo.cpp +++ b/indra/newview/llsettingsvo.cpp @@ -574,11 +574,11 @@ void LLSettingsVOSky::convertAtmosphericsToLegacy(LLSD& legacy, LLSD& settings)          legacy[SETTING_BLUE_DENSITY] = ensure_array_4(legacyhaze[SETTING_BLUE_DENSITY], 1.0);          legacy[SETTING_BLUE_HORIZON] = ensure_array_4(legacyhaze[SETTING_BLUE_HORIZON], 1.0); -        legacy[SETTING_DENSITY_MULTIPLIER] = LLSDArray(legacyhaze[SETTING_DENSITY_MULTIPLIER].asReal())(0.0f)(0.0f)(1.0f); -        legacy[SETTING_DISTANCE_MULTIPLIER] = LLSDArray(legacyhaze[SETTING_DISTANCE_MULTIPLIER].asReal())(0.0f)(0.0f)(1.0f); +        legacy[SETTING_DENSITY_MULTIPLIER]  = llsd::array(legacyhaze[SETTING_DENSITY_MULTIPLIER].asReal(), 0.0f, 0.0f, 1.0f); +        legacy[SETTING_DISTANCE_MULTIPLIER] = llsd::array(legacyhaze[SETTING_DISTANCE_MULTIPLIER].asReal(), 0.0f, 0.0f, 1.0f); -        legacy[SETTING_HAZE_DENSITY]        = LLSDArray(legacyhaze[SETTING_HAZE_DENSITY])(0.0f)(0.0f)(1.0f); -        legacy[SETTING_HAZE_HORIZON]        = LLSDArray(legacyhaze[SETTING_HAZE_HORIZON])(0.0f)(0.0f)(1.0f); +        legacy[SETTING_HAZE_DENSITY]        = llsd::array(legacyhaze[SETTING_HAZE_DENSITY], 0.0f, 0.0f, 1.0f); +        legacy[SETTING_HAZE_HORIZON]        = llsd::array(legacyhaze[SETTING_HAZE_HORIZON], 0.0f, 0.0f, 1.0f);      }  } @@ -592,15 +592,15 @@ LLSD LLSettingsVOSky::convertToLegacy(const LLSettingsSky::ptr_t &psky, bool isA      legacy[SETTING_CLOUD_COLOR] = ensure_array_4(settings[SETTING_CLOUD_COLOR], 1.0);      legacy[SETTING_CLOUD_POS_DENSITY1] = ensure_array_4(settings[SETTING_CLOUD_POS_DENSITY1], 1.0);      legacy[SETTING_CLOUD_POS_DENSITY2] = ensure_array_4(settings[SETTING_CLOUD_POS_DENSITY2], 1.0); -    legacy[SETTING_CLOUD_SCALE] = LLSDArray(settings[SETTING_CLOUD_SCALE])(LLSD::Real(0.0))(LLSD::Real(0.0))(LLSD::Real(1.0));        +    legacy[SETTING_CLOUD_SCALE] = llsd::array(settings[SETTING_CLOUD_SCALE], LLSD::Real(0.0), LLSD::Real(0.0), LLSD::Real(1.0));      legacy[SETTING_CLOUD_SCROLL_RATE] = settings[SETTING_CLOUD_SCROLL_RATE]; -    legacy[SETTING_LEGACY_ENABLE_CLOUD_SCROLL] = LLSDArray(LLSD::Boolean(!is_approx_zero(settings[SETTING_CLOUD_SCROLL_RATE][0].asReal()))) -        (LLSD::Boolean(!is_approx_zero(settings[SETTING_CLOUD_SCROLL_RATE][1].asReal())));      -    legacy[SETTING_CLOUD_SHADOW] = LLSDArray(settings[SETTING_CLOUD_SHADOW].asReal())(0.0f)(0.0f)(1.0f);     -    legacy[SETTING_GAMMA] = LLSDArray(settings[SETTING_GAMMA])(0.0f)(0.0f)(1.0f); +    legacy[SETTING_LEGACY_ENABLE_CLOUD_SCROLL] = llsd::array(LLSD::Boolean(!is_approx_zero(settings[SETTING_CLOUD_SCROLL_RATE][0].asReal())), +        LLSD::Boolean(!is_approx_zero(settings[SETTING_CLOUD_SCROLL_RATE][1].asReal())));      +    legacy[SETTING_CLOUD_SHADOW] = llsd::array(settings[SETTING_CLOUD_SHADOW].asReal(), 0.0f, 0.0f, 1.0f);     +    legacy[SETTING_GAMMA] = llsd::array(settings[SETTING_GAMMA], 0.0f, 0.0f, 1.0f);      legacy[SETTING_GLOW] = ensure_array_4(settings[SETTING_GLOW], 1.0);      legacy[SETTING_LIGHT_NORMAL] = ensure_array_4(psky->getLightDirection().getValue(), 0.0f); -    legacy[SETTING_MAX_Y] = LLSDArray(settings[SETTING_MAX_Y])(0.0f)(0.0f)(1.0f); +    legacy[SETTING_MAX_Y] = llsd::array(settings[SETTING_MAX_Y], 0.0f, 0.0f, 1.0f);      legacy[SETTING_STAR_BRIGHTNESS] = settings[SETTING_STAR_BRIGHTNESS].asReal() / 250.0f; // convert from 0-500 -> 0-2 ala pre-FS-compat changes      legacy[SETTING_SUNLIGHT_COLOR] = ensure_array_4(settings[SETTING_SUNLIGHT_COLOR], 1.0f); @@ -1113,7 +1113,7 @@ LLSettingsDay::ptr_t LLSettingsVODay::buildFromLegacyPreset(const std::string &n      newsettings[SETTING_NAME] = name; -    LLSD watertrack = LLSDArray( +    LLSD watertrack = llsd::array(          LLSDMap(SETTING_KEYKFRAME, LLSD::Real(0.0f))          (SETTING_KEYNAME, "water:Default")); @@ -1128,7 +1128,7 @@ LLSettingsDay::ptr_t LLSettingsVODay::buildFromLegacyPreset(const std::string &n          skytrack.append(entry);      } -    newsettings[SETTING_TRACKS] = LLSDArray(watertrack)(skytrack); +    newsettings[SETTING_TRACKS] = llsd::array(watertrack, skytrack);      LLSD frames(LLSD::emptyMap()); @@ -1216,7 +1216,7 @@ LLSettingsDay::ptr_t LLSettingsVODay::buildFromLegacyMessage(const LLUUID ®io      watersettings[SETTING_NAME] = watername;      frames[watername] = watersettings; -    LLSD watertrack = LLSDArray( +    LLSD watertrack = llsd::array(              LLSDMap(SETTING_KEYKFRAME, LLSD::Real(0.0f))              (SETTING_KEYNAME, watername)); @@ -1230,7 +1230,7 @@ LLSettingsDay::ptr_t LLSettingsVODay::buildFromLegacyMessage(const LLUUID ®io      LLSD newsettings = LLSDMap          ( SETTING_NAME, "Region (legacy)" ) -        ( SETTING_TRACKS, LLSDArray(watertrack)(skytrack)) +        ( SETTING_TRACKS, llsd::array(watertrack, skytrack))          ( SETTING_FRAMES, frames )          ( SETTING_TYPE, "daycycle" ); @@ -1411,7 +1411,7 @@ LLSD LLSettingsVODay::convertToLegacy(const LLSettingsVODay::ptr_t &pday)          skys[name.str()] = std::static_pointer_cast<LLSettingsSky>((*it).second);          F32 frame = ((tracksky.size() == 1) && (it == tracksky.begin())) ? -1.0f : (*it).first; -        llsdcycle.append( LLSDArray(LLSD::Real(frame))(name.str()) ); +        llsdcycle.append( llsd::array(LLSD::Real(frame), name.str()) );      }      LLSD llsdskylist(LLSD::emptyMap()); @@ -1424,7 +1424,7 @@ LLSD LLSettingsVODay::convertToLegacy(const LLSettingsVODay::ptr_t &pday)          llsdskylist[(*its).first] = llsdsky;      } -    return LLSDArray(LLSD::emptyMap())(llsdcycle)(llsdskylist)(llsdwater); +    return llsd::array(LLSD::emptyMap(), llsdcycle, llsdskylist, llsdwater);  }  LLSettingsSkyPtr_t  LLSettingsVODay::getDefaultSky() const diff --git a/indra/test/llsdutil_tut.cpp b/indra/test/llsdutil_tut.cpp index 6fce53f335..22efd5439a 100644 --- a/indra/test/llsdutil_tut.cpp +++ b/indra/test/llsdutil_tut.cpp @@ -404,28 +404,28 @@ namespace tut              ensure("hash: equivalent values but different types do not match.", boost::hash<LLSD>{}(data_r1) != boost::hash<LLSD>{}(data_i1));          }          { -            LLSD data_a1 = LLSDArray("A")("B")("C"); -            LLSD data_a2 = LLSDArray("A")("B")("C"); +            LLSD data_a1 = llsd::array("A", "B", "C"); +            LLSD data_a2 = llsd::array("A", "B", "C");              ensure("hash: identical arrays produce identical results", boost::hash<LLSD>{}(data_a1) == boost::hash<LLSD>{}(data_a2)); -            data_a2.append(LLSDArray(1)(2)); +            data_a2.append(llsd::array(1, 2));              ensure("hash: changing the array changes the hash.", boost::hash<LLSD>{}(data_a1) != boost::hash<LLSD>{}(data_a2)); -            data_a1.append(LLSDArray(1)(2)); +            data_a1.append(llsd::array(1, 2));              ensure("hash: identical arrays produce identical results with nested arrays", boost::hash<LLSD>{}(data_a1) == boost::hash<LLSD>{}(data_a2));          }          { -            LLSD data_m1 = LLSDMap("key1", LLSD::Real(3.0))("key2", "value2")("key3", LLSDArray(1)(2)(3)); -            LLSD data_m2 = LLSDMap("key1", LLSD::Real(3.0))("key2", "value2")("key3", LLSDArray(1)(2)(3)); +            LLSD data_m1 = LLSDMap("key1", LLSD::Real(3.0))("key2", "value2")("key3", llsd::array(1, 2, 3)); +            LLSD data_m2 = LLSDMap("key1", LLSD::Real(3.0))("key2", "value2")("key3", llsd::array(1, 2, 3));              ensure("hash: identical maps produce identical results", boost::hash<LLSD>{}(data_m1) == boost::hash<LLSD>{}(data_m2)); -            LLSD data_m3 = LLSDMap("key1", LLSD::Real(5.0))("key2", "value2")("key3", LLSDArray(1)(2)(3)); +            LLSD data_m3 = LLSDMap("key1", LLSD::Real(5.0))("key2", "value2")("key3", llsd::array(1, 2, 3));              ensure("hash: Different values in the map produce different hashes.", boost::hash<LLSD>{}(data_m1) != boost::hash<LLSD>{}(data_m3)); -            LLSD data_m4 = LLSDMap("keyA", LLSD::Real(3.0))("key2", "value2")("key3", LLSDArray(1)(2)(3)); +            LLSD data_m4 = LLSDMap("keyA", LLSD::Real(3.0))("key2", "value2")("key3", llsd::array(1, 2, 3));              ensure("hash: Different keys in the map produce different hashes.", boost::hash<LLSD>{}(data_m1) != boost::hash<LLSD>{}(data_m4));          } | 
