diff options
author | Nat Goodspeed <nat@lindenlab.com> | 2011-09-01 13:12:23 -0400 |
---|---|---|
committer | Nat Goodspeed <nat@lindenlab.com> | 2011-09-01 13:12:23 -0400 |
commit | 3ddf3aef9b2f2bb85932bd33b9daac5e59d3018a (patch) | |
tree | 9d0bbd40ea05a6f81542b55b15797bc90a2b2f82 /indra/llcommon/lleventapi.cpp | |
parent | 54399f1f87af40633035df9ec1cbadf139844621 (diff) |
CHOP-763: Promote Response class from llwindowlistener.cpp to LLEventAPI.
This is a generally-useful idiom, extending the sendReply() convenience
function -- it shouldn't remain buried in a single .cpp file.
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; +} |