aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra
diff options
context:
space:
mode:
Diffstat (limited to 'linden/indra')
-rw-r--r--linden/indra/newview/hippoupdate.cpp93
-rw-r--r--linden/indra/newview/hippoupdate.h12
-rw-r--r--linden/indra/newview/llappviewer.cpp1
3 files changed, 0 insertions, 106 deletions
diff --git a/linden/indra/newview/hippoupdate.cpp b/linden/indra/newview/hippoupdate.cpp
deleted file mode 100644
index 848a8fd..0000000
--- a/linden/indra/newview/hippoupdate.cpp
+++ /dev/null
@@ -1,93 +0,0 @@
1
2#include "hippoupdate.h"
3
4#include <cstdio>
5#include <list>
6#include <vector>
7
8#include <stdtypes.h>
9#include <llhttpclient.h>
10#include <llmemory.h>
11//#include <llversionviewer.h>
12#include "llviewercontrol.h"
13#include "llviewernetwork.h"
14#include "llweb.h"
15#include <llwindow.h>
16
17
18std::string gHippoChannel;
19
20
21// TODO - Um, WTH? Is this actually used anywhere?
22// static
23bool HippoUpdate::checkUpdate()
24{
25 llinfos << "Hippo Update Check..." << llendl;
26
27 // get channel name
28 gHippoChannel = gSavedSettings.getString("ChannelName");
29
30 // get mac address
31 char macAddress[18];
32 sprintf(macAddress, "%02x:%02x:%02x:%02x:%02x:%02x",
33 gMACAddress[0], gMACAddress[1], gMACAddress[2], gMACAddress[3], gMACAddress[4], gMACAddress[5]);
34
35 // build URL for update check
36 char url[1000];
37 snprintf(url, 1000,
38/* "http://update.mjm.game-host.org/os/viewer.php?"
39 "product=%s&channel=%s&"
40 "version_major=%d&version_minor=%d&version_patch=%d&version_base=%s&"
41 "platform=%s&mac=%s",
42 LL_PRODUCT, LL_CHANNEL_CSTR,
43 LL_VERSION_MAJOR, LL_VERSION_MINOR, LL_VERSION_PATCH, LL_VERSION_BASE,
44 LL_PLATFORM*/"", macAddress);
45
46 // query update server
47 std::string escaped_url = LLWeb::escapeURL(url);
48 LLSD response = LLHTTPClient::blockingGet(escaped_url.c_str());
49
50 // check response, return on error
51 S32 status = response["status"].asInteger();
52 if ((status != 200) || !response["body"].isMap()) {
53 llinfos << "Hippo Update failed (" << status << "): "
54 << (response["body"].isString()? response["body"].asString(): "<unknown error>")
55 << llendl;
56 return true;
57 }
58
59 // get data from response
60 LLSD data = response["body"];
61 std::string webpage = (data.has("webpage") && data["webpage"].isString())? data["webpage"].asString(): "";
62 std::string message = (data.has("message") && data["message"].isString())? data["message"].asString(): "";
63 std::string yourVersion = (data.has("yourVersion") && data["yourVersion"].isString())? data["yourVersion"].asString(): "";
64 std::string curVersion = (data.has("curVersion") && data["curVersion"].isString())? data["curVersion"].asString(): "";
65 bool update = (data.has("update") && data["update"].isBoolean())? data["update"].asBoolean(): false;
66 bool mandatory = (data.has("mandatory") && data["mandatory"].isBoolean())? data["mandatory"].asBoolean(): false;
67
68 // log and return, if no update available
69 llinfos << "Your version is " << yourVersion << ", current version is " << curVersion << '.' << llendl;
70 if (!update) return true;
71 llinfos << "Update is " << (mandatory? "mandatory.": "optional.") << llendl;
72
73 // show update dialog
74 char msg[1000];
75 snprintf(msg, 1000,
76 "There is a new viewer version available.\n"
77 "\n"
78 "Your version: %s\n"
79 "Current version: %s\n"
80 "%s\n"
81 "Do you want to visit the web site?",
82 yourVersion.c_str(), curVersion.c_str(),
83 mandatory? "\nThis is a mandatory update.\n": "");
84 S32 button = OSMessageBox(msg, "Hippo OpenSim Viewer Update", OSMB_YESNO);
85 if (button == OSBTN_YES) {
86 llinfos << "Taking user to " << webpage << llendl;
87 LLWeb::loadURLExternal(webpage);
88 // exit the viewer
89 return false;
90 }
91
92 return !mandatory;
93}
diff --git a/linden/indra/newview/hippoupdate.h b/linden/indra/newview/hippoupdate.h
deleted file mode 100644
index 559c8b3..0000000
--- a/linden/indra/newview/hippoupdate.h
+++ /dev/null
@@ -1,12 +0,0 @@
1#ifndef __HIPPO_UPDATE_H__
2#define __HIPPO_UPDATE_H__
3
4
5class HippoUpdate
6{
7 public:
8 static bool checkUpdate();
9};
10
11
12#endif
diff --git a/linden/indra/newview/llappviewer.cpp b/linden/indra/newview/llappviewer.cpp
index e02bfc7..33a71fe 100644
--- a/linden/indra/newview/llappviewer.cpp
+++ b/linden/indra/newview/llappviewer.cpp
@@ -179,7 +179,6 @@
179 179
180#include "hippogridmanager.h" 180#include "hippogridmanager.h"
181#include "hippolimits.h" 181#include "hippolimits.h"
182#include "hippoupdate.h"
183 182
184// [RLVa:KB] 183// [RLVa:KB]
185#include "rlvhandler.h" 184#include "rlvhandler.h"