1 // Copyright 2013 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef CHROME_COMMON_OMAHA_QUERY_PARAMS_OMAHA_QUERY_PARAMS_H_ 6 #define CHROME_COMMON_OMAHA_QUERY_PARAMS_OMAHA_QUERY_PARAMS_H_ 7 8 #include <string> 9 10 #include "base/basictypes.h" 11 12 namespace chrome { 13 14 class OmahaQueryParams { 15 public: 16 enum ProdId { 17 CHROME = 0, 18 CRX, 19 }; 20 21 // Generates a string of URL query paramaters to be used when getting 22 // component and extension updates. Includes the following fields: os, arch, 23 // prod, prodchannel, prodversion. 24 static std::string Get(ProdId prod); 25 26 // Returns the value we use for the "prod=" parameter. Possible return values 27 // include "chrome", "chromecrx", "chromiumcrx", and "unknown". 28 static const char* GetProdIdString(chrome::OmahaQueryParams::ProdId prod); 29 30 // Returns the value we use for the "os=" parameter. Possible return values 31 // include: "mac", "win", "android", "cros", "linux", and "openbsd". 32 static const char* getOS(); 33 34 // Returns the value we use for the "arch=" parameter. Possible return values 35 // include: "x86", "x64", and "arm". 36 static const char* getArch(); 37 38 // Returns the value we use for the "nacl_arch" parameter. Note that this may 39 // be different from the "arch" parameter above (e.g. one may be 32-bit and 40 // the other 64-bit). Possible return values include: "x86-32", "x86-64", 41 // "arm", and "mips32". 42 static const char* getNaclArch(); 43 44 // Returns the value we use for the "updaterchannel=" and "prodchannel=" 45 // parameters. Possible return values include: "canary", "dev", "beta", and 46 // "stable". 47 static const char* GetChannelString(); 48 49 private: 50 DISALLOW_IMPLICIT_CONSTRUCTORS(OmahaQueryParams); 51 }; 52 53 } // namespace chrome 54 55 #endif // CHROME_COMMON_OMAHA_QUERY_PARAMS_OMAHA_QUERY_PARAMS_H_ 56