summaryrefslogtreecommitdiff
path: root/indra/newview/llurldispatcher.h
diff options
context:
space:
mode:
authorTess Chu <tess@lindenlab.com>2007-10-02 22:38:38 +0000
committerTess Chu <tess@lindenlab.com>2007-10-02 22:38:38 +0000
commitcfd17f3322ec9c8efb120faa23adb83846272193 (patch)
treeeefbf2fefcac737d4050fba10e072fe951cd4381 /indra/newview/llurldispatcher.h
parent97631054272eeb83155f70fec6a869efc39079e5 (diff)
svn merge -r 70819:70853 svn+ssh://svn/svn/linden/branches/urldispatcher-for-merge
Diffstat (limited to 'indra/newview/llurldispatcher.h')
-rw-r--r--indra/newview/llurldispatcher.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/indra/newview/llurldispatcher.h b/indra/newview/llurldispatcher.h
new file mode 100644
index 0000000000..e701a01be4
--- /dev/null
+++ b/indra/newview/llurldispatcher.h
@@ -0,0 +1,32 @@
+/**
+ * @file llurldispatcher.h
+ * @brief Central registry for all SL URL handlers
+ *
+ * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
+ * $License$
+ */
+#ifndef LLURLDISPATCHER_H
+#define LLURLDISPATCHER_H
+
+class LLURLDispatcher
+{
+public:
+ static bool isSLURL(const std::string& url);
+ // Is this any sort of secondlife:// or sl:// URL?
+
+ static bool isSLURLCommand(const std::string& url);
+ // Is this a special secondlife://app/ URL?
+
+ static bool dispatch(const std::string& url);
+ // At startup time and on clicks in internal web browsers,
+ // teleport, open map, or run requested command.
+ // Handles:
+ // secondlife://RegionName/123/45/67/
+ // secondlife://app/agent/3d6181b0-6a4b-97ef-18d8-722652995cf1/show
+ // sl://app/foo/bar
+ // Returns true if someone handled the URL.
+ static bool dispatchRightClick(const std::string& url);
+
+};
+
+#endif