From 19122e164ca2a3c1616619b220118344b1858cc8 Mon Sep 17 00:00:00 2001 From: Nat Goodspeed Date: Thu, 10 Dec 2009 22:30:57 -0500 Subject: Add LL(URLDispatcher,CommandDispatcher,PanelLogin)Listener LLURLDispatcherListener accepts requests for LLURLDispatcher. LLCommandDispatcherListener accepts requests for LLCommandDispatcher. LLPanelLoginListener accepts requests specifically for LLPanelLogin. Initially it supports a simulated click to the "Log In" button. --- indra/newview/llcommanddispatcherlistener.cpp | 47 +++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 indra/newview/llcommanddispatcherlistener.cpp (limited to 'indra/newview/llcommanddispatcherlistener.cpp') diff --git a/indra/newview/llcommanddispatcherlistener.cpp b/indra/newview/llcommanddispatcherlistener.cpp new file mode 100644 index 0000000000..00a20de30e --- /dev/null +++ b/indra/newview/llcommanddispatcherlistener.cpp @@ -0,0 +1,47 @@ +/** + * @file llcommanddispatcherlistener.cpp + * @author Nat Goodspeed + * @date 2009-12-10 + * @brief Implementation for llcommanddispatcherlistener. + * + * $LicenseInfo:firstyear=2009&license=viewergpl$ + * Copyright (c) 2009, Linden Research, Inc. + * $/LicenseInfo$ + */ + +// Precompiled header +#include "llviewerprecompiledheaders.h" +// associated header +#include "llcommanddispatcherlistener.h" +// STL headers +// std headers +// external library headers +// other Linden headers +#include "llcommandhandler.h" + +LLCommandDispatcherListener::LLCommandDispatcherListener(/* LLCommandDispatcher* instance */): + LLEventAPI("LLCommandDispatcher", "Access to LLCommandHandler commands") /* , + mDispatcher(instance) */ +{ + add("dispatch", + "Execute a command registered as an LLCommandHandler,\n" + "passing any required parameters:\n" + "[\"cmd\"] string command name\n" + "[\"params\"] array of parameters, as if from components of URL path\n" + "[\"query\"] map of parameters, as if from ?key1=val&key2=val\n" + "[\"trusted\"] boolean indicating trusted browser [default true]", + &LLCommandDispatcherListener::dispatch); +} + +void LLCommandDispatcherListener::dispatch(const LLSD& params) const +{ + // For most purposes, we expect callers to want to be trusted. + bool trusted_browser = true; + if (params.has("trusted")) + { + // But for testing, allow a caller to specify untrusted. + trusted_browser = params["trusted"].asBoolean(); + } + LLCommandDispatcher::dispatch(params["cmd"], params["params"], params["query"], NULL, + trusted_browser); +} -- cgit v1.2.3