diff options
author | Richard Linden <none@none> | 2011-10-27 17:22:26 -0700 |
---|---|---|
committer | Richard Linden <none@none> | 2011-10-27 17:22:26 -0700 |
commit | 6e8ffc247fe52668446b8fa1ed7f1547a755076f (patch) | |
tree | 23b6fa5ce6bf6a32944faca54f9a18aca255fd75 /indra/llcommon/lleventapi.cpp | |
parent | 0ecc5c0878adf93e96b99e3db4c65cdb757b99fb (diff) | |
parent | fcd1ccd21e3ea8f0944537347dd6c9d7972d50ce (diff) |
Automated merge with ssh://hg.lindenlab.com/richard/viewer-experience
Diffstat (limited to 'indra/llcommon/lleventapi.cpp')
-rw-r--r-- | indra/llcommon/lleventapi.cpp | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/indra/llcommon/lleventapi.cpp b/indra/llcommon/lleventapi.cpp index 4270c8b511..ff5459c1eb 100644 --- a/indra/llcommon/lleventapi.cpp +++ b/indra/llcommon/lleventapi.cpp @@ -34,6 +34,7 @@ // std headers // external library headers // other Linden headers +#include "llerror.h" LLEventAPI::LLEventAPI(const std::string& name, const std::string& desc, const std::string& field): lbase(name, field), @@ -45,3 +46,32 @@ LLEventAPI::LLEventAPI(const std::string& name, const std::string& desc, const s LLEventAPI::~LLEventAPI() { } + +LLEventAPI::Response::Response(const LLSD& seed, const LLSD& request, const LLSD::String& replyKey): + mResp(seed), + mReq(request), + mKey(replyKey) +{} + +LLEventAPI::Response::~Response() +{ + // When you instantiate a stack Response object, if the original + // request requested a reply, send it when we leave this block, no + // matter how. + sendReply(mResp, mReq, mKey); +} + +void LLEventAPI::Response::warn(const std::string& warning) +{ + LL_WARNS("LLEventAPI::Response") << warning << LL_ENDL; + mResp["warnings"].append(warning); +} + +void LLEventAPI::Response::error(const std::string& error) +{ + // Use LL_WARNS rather than LL_ERROR: we don't want the viewer to shut + // down altogether. + LL_WARNS("LLEventAPI::Response") << error << LL_ENDL; + + mResp["error"] = error; +} |