Chromium Code Reviews| Index: chrome/common/omaha_query_params.cc |
| diff --git a/chrome/common/omaha_query_params.cc b/chrome/common/omaha_query_params.cc |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..76b1fb8dc1dd1353d4a449a87c470af54d5b3121 |
| --- /dev/null |
| +++ b/chrome/common/omaha_query_params.cc |
| @@ -0,0 +1,80 @@ |
| +// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#include "chrome/common/omaha_query_params.h" |
| + |
| +#include "base/stringprintf.h" |
| +#include "chrome/common/chrome_version_info.h" |
| + |
| +namespace { |
| + |
| +const char kStable[] = "stable"; |
| +const char kBeta[] = "beta"; |
| +const char kDev[] = "dev"; |
| +const char kCanary[] = "canary"; |
| +const char kUnknown[] = "unknown"; |
| + |
| +const char* GetChannelString() { |
| + switch (chrome::VersionInfo::GetChannel()) { |
| + case chrome::VersionInfo::CHANNEL_STABLE: |
| + return kStable; |
| + break; |
| + case chrome::VersionInfo::CHANNEL_BETA: |
| + return kBeta; |
| + break; |
| + case chrome::VersionInfo::CHANNEL_DEV: |
| + return kDev; |
| + break; |
| + case chrome::VersionInfo::CHANNEL_CANARY: |
| + return kCanary; |
| + break; |
| + default: |
| + return kUnknown; |
| + } |
| +} |
| + |
| +// The request extra information is the OS and architecture, this helps |
| +// the server select the right package to be delivered. |
| +const char kOs[] = |
| +#if defined(OS_MACOSX) |
| + "mac"; |
| +#elif defined(OS_WIN) |
| + "win"; |
| +#elif defined(OS_ANDROID) |
| + "android"; |
| +#elif defined(OS_CHROMEOS) |
| + "cros"; |
| +#elif defined(OS_LINUX) |
| + "linux"; |
| +#elif defined(OS_OPENBSD) |
| + "openbsd"; |
| +#else |
| + #error "unknown os" |
| +#endif |
| + |
| +const char kArch[] = |
| +#if defined(__amd64__) || defined(_WIN64) |
| + "x64"; |
| +#elif defined(__i386__) || defined(_WIN32) |
| + "x86"; |
| +#elif defined(__arm__) |
| + "arm"; |
| +#else |
| + "unknown"; |
|
asargent_no_longer_on_chrome
2013/03/06 00:45:06
Maybe we should do #error for this case too, simil
jackhou
2013/03/06 03:56:36
Done.
petarj
2013/04/18 16:05:05
MIPS architecture ain't wacky, is it?
This part br
|
| +#endif |
| + |
| +} // namespace |
| + |
| +namespace chrome { |
| + |
| +std::string GetOmahaQueryParams(const std::string& prod) { |
| + return StringPrintf("os=%s&arch=%s&prod=%s&prodchannel=%s&prodversion=%s", |
| + kOs, |
| + kArch, |
| + prod.c_str(), |
| + GetChannelString(), |
| + chrome::VersionInfo().Version().c_str()); |
| +} |
| + |
| +} // namespace chrome |