summaryrefslogtreecommitdiff
path: root/indra/newview/llsrv.h
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llsrv.h')
-rw-r--r--indra/newview/llsrv.h46
1 files changed, 46 insertions, 0 deletions
diff --git a/indra/newview/llsrv.h b/indra/newview/llsrv.h
new file mode 100644
index 0000000000..14a64e639e
--- /dev/null
+++ b/indra/newview/llsrv.h
@@ -0,0 +1,46 @@
+/**
+ * @file llsrv.h
+ * @brief Wrapper for DNS SRV record lookups
+ *
+ * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
+ * $License$
+ */
+
+#ifndef LL_LLSRV_H
+#define LL_LLSRV_H
+
+class LLSRV;
+
+class LLSRVRecord
+{
+ friend class LLSRV;
+
+protected:
+ U16 mPriority;
+ U16 mWeight;
+ std::string mTarget;
+ U16 mPort;
+
+ LLSRVRecord(U16 priority, U16 weight, const std::string& target,
+ U16 port) :
+ mPriority(priority),
+ mWeight(weight),
+ mTarget(target),
+ mPort(port) {
+ }
+
+public:
+ U16 priority() const { return mPriority; }
+ U16 weight() const { return mWeight; }
+ const std::string& target() const { return mTarget; }
+ U16 port() const { return mPort; }
+};
+
+class LLSRV
+{
+public:
+ static std::vector<LLSRVRecord> query(const std::string& name);
+ static std::vector<std::string> rewriteURI(const std::string& uri);
+};
+
+#endif // LL_LLSRV_H