| Index: components/omaha_query_params/omaha_query_params.h
|
| diff --git a/components/omaha_query_params/omaha_query_params.h b/components/omaha_query_params/omaha_query_params.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..21b0796c68bbd5f36c63caeff99c92f0fc746411
|
| --- /dev/null
|
| +++ b/components/omaha_query_params/omaha_query_params.h
|
| @@ -0,0 +1,68 @@
|
| +// Copyright 2014 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.
|
| +
|
| +#ifndef COMPONENTS_OMAHA_QUERY_PARAMS_OMAHA_QUERY_PARAMS_H_
|
| +#define COMPONENTS_OMAHA_QUERY_PARAMS_OMAHA_QUERY_PARAMS_H_
|
| +
|
| +#include <string>
|
| +
|
| +#include "base/basictypes.h"
|
| +
|
| +// Generates a string of URL query parameters to be used when getting
|
| +// component and extension updates. These parameters generally remain
|
| +// fixed for a particular build. Embedders can use the delegate to
|
| +// define different implementations. This should be used only in the
|
| +// browser process.
|
| +class OmahaQueryParams {
|
| + public:
|
| + enum ProdId {
|
| + CHROME = 0,
|
| + CRX,
|
| + };
|
| +
|
| + // Generates a string of URL query parameters for Omaha. Includes the
|
| + // following fields: os, arch, prod, prodchannel, prodversion, lang.
|
| + static std::string Get(ProdId prod);
|
| +
|
| + // Returns the value we use for the "prod=" parameter. Possible return values
|
| + // include "chrome", "chromecrx", "chromiumcrx", and "unknown".
|
| + static const char* GetProdIdString(ProdId prod);
|
| +
|
| + // Returns the value we use for the "os=" parameter. Possible return values
|
| + // include: "mac", "win", "android", "cros", "linux", and "openbsd".
|
| + static const char* GetOS();
|
| +
|
| + // Returns the value we use for the "arch=" parameter. Possible return values
|
| + // include: "x86", "x64", and "arm".
|
| + static const char* GetArch();
|
| +
|
| + // Returns the value we use for the "nacl_arch" parameter. Note that this may
|
| + // be different from the "arch" parameter above (e.g. one may be 32-bit and
|
| + // the other 64-bit). Possible return values include: "x86-32", "x86-64",
|
| + // "arm", and "mips32".
|
| + static const char* GetNaclArch();
|
| +
|
| + private:
|
| + DISALLOW_IMPLICIT_CONSTRUCTORS(OmahaQueryParams);
|
| +};
|
| +
|
| +// Embedders can specify an OmahaQueryParamsDelegate to provide additional
|
| +// custom parameters. If not specified (Set is never called), no additional
|
| +// parameters are added.
|
| +class OmahaQueryParamsDelegate {
|
| + public:
|
| + OmahaQueryParamsDelegate();
|
| + virtual ~OmahaQueryParamsDelegate();
|
| +
|
| + // Use this delegate.
|
| + static void Set(OmahaQueryParamsDelegate* delegate);
|
| +
|
| + // Returns additional parameters, if any. If there are any parameters, the
|
| + // string should begin with a & character.
|
| + virtual std::string GetExtraParams() = 0;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(OmahaQueryParamsDelegate);
|
| +};
|
| +
|
| +#endif // COMPONENTS_OMAHA_QUERY_PARAMS_OMAHA_QUERY_PARAMS_H_
|
|
|