summaryrefslogtreecommitdiff
path: root/indra/llcommon/lleventapi.cpp
diff options
context:
space:
mode:
authorOz Linden <oz@lindenlab.com>2011-10-05 18:02:58 -0400
committerOz Linden <oz@lindenlab.com>2011-10-05 18:02:58 -0400
commit5f38ec7f92fcea833352cd30797a9d73ef5a041f (patch)
tree67a35e5cd822b9f630dd72fdc93e4a3749f92735 /indra/llcommon/lleventapi.cpp
parent194bedbb96a6dcfe90d5b731aeca8658c83f2306 (diff)
parent30480b58db917e48090ae7b3c1427834875d9626 (diff)
merge changes for storm-1637
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;
+}