Skip to content
Snippets Groups Projects
  1. Jul 21, 2020
  2. May 06, 2020
  3. Mar 25, 2020
    • Nat Goodspeed's avatar
      DRTVWR-476: Add llsd::array() and llsd::map() variadic functions. · 52d15b64
      Nat Goodspeed authored
      llsd::array(), as one might suspect, takes an arbitrary number of arguments of
      arbitrary convertible types and returns an LLSD::Array constructed from those
      elements. This supercedes the older LLSDArray class.
      
      llsd::map() takes an even number of arguments paired as (LLSD::String,
      arbitrary convertible type) and returns an LLSD::Map constructed from those
      (key, value) pairs. This supercedes the older LLSDMap class.
      
      These two functions not only have a simpler API -- arbitrary function
      arguments rather than an (arg list)(arg list) sequence -- but also
      specifically return a final LLSD object, rather than needing conversion to
      LLSD from the LLSDArray or LLSDMap object.
      
      Also support LLSD == LLSD and LLSD != LLSD comparisons, using llsd_equals()
      with default exact-float-equality semantics.
      52d15b64
    • Nat Goodspeed's avatar
      SL-11216: Add llsd::drill() function to drill into an LLSD blob. · a2379d68
      Nat Goodspeed authored
      We include both const and non-const overloads. The latter returns LLSD&, so
      you can assign to the located element.
      
      In fact we already implemented the non-const logic in a less public form as
      storeToLLSDPath() in lleventcoro.cpp. Reimplement the latter to use the new
      llsd::drill() function.
      a2379d68
  4. Nov 30, 2017
  5. Nov 27, 2017
  6. Aug 11, 2016
  7. Nov 10, 2015
  8. Oct 17, 2014
  9. Jul 19, 2013
  10. Mar 29, 2013
  11. Feb 01, 2012
  12. Feb 03, 2011
    • Nat Goodspeed's avatar
      Introduce BOOST_FOREACH() helpers for LLSD in llsdutil.h. · d814e76c
      Nat Goodspeed authored
      You can't directly write:
      BOOST_FOREACH(LLSD item, someLLSDarray) { ... }
      because LLSD has two distinct iteration mechanisms, one for arrays and one for
      maps, neither using the standard [const_]iterator typedefs or begin()/end()
      methods. But with these helpers, you can write:
      BOOST_FOREACH(LLSD item, llsd::inArray(someLLSDarray)) { ... }
      or
      BOOST_FOREACH(const llsd::MapEntry& pair, llsd::inMap(someLLSDmap)) { ... }
      These are in namespace llsd instead of being (e.g.) llsd_inMap because with a
      namespace at least your .cpp file can have a local 'using':
      using namespace llsd;
      BOOST_FOREACH(LLSD item, inArray(someLLSDarray)) { ... }
      It's namespace llsd rather than LLSD because LLSD can't be both a namespace
      and a class name.
      d814e76c
  13. Jan 31, 2011
    • Nat Goodspeed's avatar
      Fix a couple gotchas in LLSDArray, LLSDParam, llsd_equals(). · 8b7c903e
      Nat Goodspeed authored
      Nested LLSDArray expressions, e.g.:
      LLSD array_of_arrays(LLSDArray(LLSDArray(17)(34))
                                    (LLSDArray("x")("y")));
      would quietly produce bad results because the outermost LLSDArray was being
      constructed with the compiler's implicit LLSDArray(const LLSDArray&) rather
      than LLSDArray(const LLSD&) as the reader assumes. Fixed with an explicit copy
      constructor to Do The Right Thing.
      Generalized LLSDParam<float> specialization into a macro to resolve similar
      conversion ambiguities for float, LLUUID, LLDate, LLURI and LLSD::Binary.
      Added optional bits= argument to llsd_equals() to permit comparing embedded
      Real values using is_approx_equal_fraction() rather than strictly bitwise.
      Omitting bits= retains current bitwise-comparison behavior.
      8b7c903e
  14. Jan 28, 2011
    • Nat Goodspeed's avatar
      Introduce LLSDArray, LLSDMap, LLSDParam. · 2770d6f8
      Nat Goodspeed authored
      LLSDArray is a helper to construct an LLSD::Array value inline.
      LLSDMap is a helper to construct an LLSD::Map value inline.
      LLSDParam is a customization point, a way for generic code to support
      unforseen parameter types as conversion targets for LLSD values.
      2770d6f8
  15. Oct 13, 2010
  16. Sep 21, 2010
  17. Aug 13, 2010
  18. Jul 30, 2009
  19. Jun 21, 2009
  20. May 28, 2009
  21. May 26, 2009
  22. May 22, 2009
    • Brad Kittenbrink's avatar
      DEV-27646 dll linkage for login module. · 01d39082
      Brad Kittenbrink authored
      Ok, finally got this to a point where it doesn't break the build and I can check
      in. llcommon can be built as a shared library (disabled but can be enabled with
      cmake cache var LLCOMMON_LINK_SHARED.
      
      reviewed by Mani on tuesday (I still need to get his suggested changes
      re-reviewed)
      01d39082
  23. May 11, 2009
  24. May 08, 2009
  25. Jan 07, 2009
  26. Jul 14, 2008
  27. Jun 02, 2008
  28. Apr 28, 2008
    • Josh Bell's avatar
      svn merge -r 84911:86069... · a089a401
      Josh Bell authored
      svn merge -r 84911:86069 svn+ssh://svn.lindenlab.com/svn/linden/branches/Branch_1-21-Server --> release
      
      Backport fixes made in the production branch to the trunk now that it is live on the grid:
      * DEV-14443 Launcher not producing colo prefix when looking up sim class
      * DEV-10840 "/etc/init.d/backbone stop" returns before all child backbones exited; "backbone restart" results in defunct children
      * DEV-12558: Able to make anyone's object shout error messages
      * QAR-483 user start location migration prelude
      * QAR-490 havok4-6
      * Revert havok4-5/4-6 code changes causing parcel access check issues
      * Revert QAR-277 sqlite-backbone
      * DEV-12357 SEC-53: Script that crashes regions
      * QAR-486 New proc and query for Web Classifieds Fix
      a089a401
  29. Apr 15, 2008
  30. Apr 09, 2008
  31. Dec 18, 2007
  32. Oct 04, 2007
  33. Jun 13, 2007
  34. May 01, 2007
  35. Jan 31, 2007
  36. Jan 15, 2007
  37. Jan 02, 2007
Loading