summaryrefslogtreecommitdiff
path: root/indra/newview/llcapabilityprovider.h
diff options
context:
space:
mode:
authorBrad Kittenbrink <brad@lindenlab.com>2009-06-04 16:24:21 +0000
committerBrad Kittenbrink <brad@lindenlab.com>2009-06-04 16:24:21 +0000
commit087bd265534b8e3086ae1af441a9cf0eb7c684df (patch)
treea0c911515476d4ac4aac9bd984de28eb7573a478 /indra/newview/llcapabilityprovider.h
parentf9b9372027a41900ad572afcd7ea0d2cc5489b8f (diff)
Merge of QAR-1383 event-system-7 into trunk.
svn merge -r 121797:121853 svn+ssh://svn.lindenlab.com/svn/linden/branches/merge-event-system-7
Diffstat (limited to 'indra/newview/llcapabilityprovider.h')
-rw-r--r--indra/newview/llcapabilityprovider.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/indra/newview/llcapabilityprovider.h b/indra/newview/llcapabilityprovider.h
new file mode 100644
index 0000000000..0ddb2b6cb9
--- /dev/null
+++ b/indra/newview/llcapabilityprovider.h
@@ -0,0 +1,39 @@
+/**
+ * @file llcapabilityprovider.h
+ * @author Nat Goodspeed
+ * @date 2009-01-07
+ * @brief Interface by which to reference (e.g.) LLViewerRegion to obtain a
+ * capability.
+ *
+ * $LicenseInfo:firstyear=2009&license=viewergpl$
+ * Copyright (c) 2009, Linden Research, Inc.
+ * $/LicenseInfo$
+ */
+
+#if ! defined(LL_LLCAPABILITYPROVIDER_H)
+#define LL_LLCAPABILITYPROVIDER_H
+
+#include "llhost.h"
+#include <string>
+
+/// Interface for obtaining a capability URL, given a capability name
+class LLCapabilityProvider
+{
+public:
+ virtual ~LLCapabilityProvider() {}
+ /**
+ * Get a capability URL, given a capability name. Returns empty string if
+ * no such capability is defined on this provider.
+ */
+ virtual std::string getCapability(const std::string& name) const = 0;
+ /**
+ * Get host to which to send that capability request.
+ */
+ virtual LLHost getHost() const = 0;
+ /**
+ * Describe this LLCapabilityProvider for logging etc.
+ */
+ virtual std::string getDescription() const = 0;
+};
+
+#endif /* ! defined(LL_LLCAPABILITYPROVIDER_H) */