summaryrefslogtreecommitdiff
path: root/indra/llcommon/lleventapi.cpp
diff options
context:
space:
mode:
authorNat Goodspeed <nat@lindenlab.com>2011-10-05 11:25:19 -0400
committerNat Goodspeed <nat@lindenlab.com>2011-10-05 11:25:19 -0400
commit30480b58db917e48090ae7b3c1427834875d9626 (patch)
treefd380b1be4e8e4066efa92c283b5a317551a76f9 /indra/llcommon/lleventapi.cpp
parentd0e36ade5bb16e9e5a6aca9ee4f02fbe995cdfd8 (diff)
parentad9c28a2693f0e05f229697bb906216f99029bed (diff)
Automated merge with http://hg.secondlife.com/viewer-development
Diffstat (limited to 'indra/llcommon/lleventapi.cpp')
-rw-r--r--indra/llcommon/lleventapi.cpp30
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;
+}