Skip to content
Snippets Groups Projects
  1. Jan 28, 2011
    • Nat Goodspeed's avatar
      Extend LLEventAPI to directly call other functions & methods. · 2bafe0dc
      Nat Goodspeed authored
      Until now, LLEventAPI has only been able to register functions specifically
      accepting(const LLSD&). Typically you add a wrapper method to your LLEventAPI
      subclass, register that, have it extract desired params from the incoming LLSD
      and then call the actual function of interest.
      With help from Alain, added new LLEventAPI::add() methods capable of
      registering functions/methods with arbitrary parameter signatures. The code
      uses boost::fusion magic to implicitly match incoming LLSD arguments to the
      function's formal parameter list, bypassing the need for an explicit helper
      method.
      New add() methods caused an ambiguity with a previous convenience overload.
      Removed that overload and fixed the one existing usage.
      Replaced LLEventDispatcher::get() with try_call() -- it's no longer easy to
      return a Callable for caller to call directly. But the one known use of that
      feature simply used it to avoid fatal LL_ERRS on unknown function-name string,
      hence the try_call() approach actually addresses that case more directly.
      Added indra/common/lleventdispatcher_test.cpp to exercise new functionality.
      2bafe0dc
    • 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
    • Nat Goodspeed's avatar
  2. Jan 27, 2011
  3. Jan 26, 2011
  4. Jan 25, 2011
  5. Jan 24, 2011
  6. Jan 21, 2011
  7. Jan 20, 2011
Loading