aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/llmessage/llregionpresenceverifier.h
diff options
context:
space:
mode:
authorJacek Antonelli2009-04-30 13:04:20 -0500
committerJacek Antonelli2009-04-30 13:07:16 -0500
commitca8149ca6d157eb4b5fc8ba0e5ba3a6e56f72e7e (patch)
tree8348301d0ac44a524f1819b777686bf086907d76 /linden/indra/llmessage/llregionpresenceverifier.h
parentSecond Life viewer sources 1.22.11 (diff)
downloadmeta-impy-ca8149ca6d157eb4b5fc8ba0e5ba3a6e56f72e7e.zip
meta-impy-ca8149ca6d157eb4b5fc8ba0e5ba3a6e56f72e7e.tar.gz
meta-impy-ca8149ca6d157eb4b5fc8ba0e5ba3a6e56f72e7e.tar.bz2
meta-impy-ca8149ca6d157eb4b5fc8ba0e5ba3a6e56f72e7e.tar.xz
Second Life viewer sources 1.23.0-RC
Diffstat (limited to '')
-rw-r--r--linden/indra/llmessage/llregionpresenceverifier.h92
1 files changed, 92 insertions, 0 deletions
diff --git a/linden/indra/llmessage/llregionpresenceverifier.h b/linden/indra/llmessage/llregionpresenceverifier.h
new file mode 100644
index 0000000..54a7cce
--- /dev/null
+++ b/linden/indra/llmessage/llregionpresenceverifier.h
@@ -0,0 +1,92 @@
1/**
2 * @file
3 * @brief
4 *
5 * $LicenseInfo:firstyear=2008&license=viewergpl$
6 *
7 * Copyright (c) 2008-2009, Linden Research, Inc.
8 *
9 * Second Life Viewer Source Code
10 * The source code in this file ("Source Code") is provided by Linden Lab
11 * to you under the terms of the GNU General Public License, version 2.0
12 * ("GPL"), unless you have obtained a separate licensing agreement
13 * ("Other License"), formally executed by you and Linden Lab. Terms of
14 * the GPL can be found in doc/GPL-license.txt in this distribution, or
15 * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
16 *
17 * There are special exceptions to the terms and conditions of the GPL as
18 * it is applied to this Source Code. View the full text of the exception
19 * in the file doc/FLOSS-exception.txt in this software distribution, or
20 * online at
21 * http://secondlifegrid.net/programs/open_source/licensing/flossexception
22 *
23 * By copying, modifying or distributing this software, you acknowledge
24 * that you have read and understood your obligations described above,
25 * and agree to abide by those obligations.
26 *
27 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
28 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
29 * COMPLETENESS OR PERFORMANCE.
30 * $/LicenseInfo$
31 */
32
33/* Macro Definitions */
34#ifndef LL_LLREGIONPRESENCEVERIFIER_H
35#define LL_LLREGIONPRESENCEVERIFIER_H
36
37#include "llhttpclient.h"
38#include <string>
39#include "llsd.h"
40#include <boost/shared_ptr.hpp>
41
42class LLHTTPClientInterface;
43
44class LLRegionPresenceVerifier
45{
46public:
47 class Response
48 {
49 public:
50 virtual ~Response() {}
51
52 virtual bool checkValidity(const LLSD& content) const = 0;
53 virtual void onRegionVerified(const LLSD& region_details) = 0;
54
55 virtual void decrementRetries() = 0;
56
57 virtual LLHTTPClientInterface& getHttpClient() = 0;
58 virtual std::string getRegionUri() const = 0;
59 virtual bool shouldRetry() const = 0;
60
61 virtual void onCompletedRegionRequest() {}
62 };
63
64 typedef boost::shared_ptr<Response> ResponsePtr;
65
66 class RegionResponder : public LLHTTPClient::Responder
67 {
68 public:
69 RegionResponder(ResponsePtr data);
70 virtual void result(const LLSD& content);
71 virtual void completed(
72 U32 status,
73 const std::string& reason,
74 const LLSD& content);
75
76 private:
77 ResponsePtr mSharedData;
78 };
79
80 class VerifiedDestinationResponder : public LLHTTPClient::Responder
81 {
82 public:
83 VerifiedDestinationResponder(ResponsePtr data, const LLSD& content);
84 virtual void result(const LLSD& content);
85 private:
86 ResponsePtr mSharedData;
87 LLSD mContent;
88 };
89};
90
91
92#endif //LL_LLREGIONPRESENCEVERIFIER_H