Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(126)

Side by Side Diff: components/update_client/utils.h

Issue 808773005: Move most of the component updater artifacts to update_client. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « components/update_client/url_fetcher_downloader.cc ('k') | components/update_client/utils.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright 2014 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 COMPONENTS_UPDATE_CLIENT_UTILS_H_
6 #define COMPONENTS_UPDATE_CLIENT_UTILS_H_
7
8 #include <string>
9
10 class GURL;
11
12 namespace base {
13 class FilePath;
14 }
15
16 namespace net {
17 class URLFetcher;
18 class URLFetcherDelegate;
19 class URLRequestContextGetter;
20 }
21
22 namespace update_client {
23
24 class Configurator;
25 struct CrxComponent;
26 struct CrxUpdateItem;
27
28 // An update protocol request starts with a common preamble which includes
29 // version and platform information for Chrome and the operating system,
30 // followed by a request body, which is the actual payload of the request.
31 // For example:
32 //
33 // <?xml version="1.0" encoding="UTF-8"?>
34 // <request protocol="3.0" version="chrome-32.0.1.0" prodversion="32.0.1.0"
35 // requestid="{7383396D-B4DD-46E1-9104-AAC6B918E792}"
36 // updaterchannel="canary" arch="x86" nacl_arch="x86-64"
37 // ADDITIONAL ATTRIBUTES>
38 // <hw physmemory="16"/>
39 // <os platform="win" version="6.1" arch="x86"/>
40 // ... REQUEST BODY ...
41 // </request>
42
43 // Builds a protocol request string by creating the outer envelope for
44 // the request and including the request body specified as a parameter.
45 // If specified, |additional_attributes| are appended as attributes of the
46 // request element. The additional attributes have to be well-formed for
47 // insertion in the request element.
48 std::string BuildProtocolRequest(const std::string& browser_version,
49 const std::string& channel,
50 const std::string& lang,
51 const std::string& os_long_name,
52 const std::string& request_body,
53 const std::string& additional_attributes);
54
55 // Sends a protocol request to the the service endpoint specified by |url|.
56 // The body of the request is provided by |protocol_request| and it is
57 // expected to contain XML data. The caller owns the returned object.
58 net::URLFetcher* SendProtocolRequest(
59 const GURL& url,
60 const std::string& protocol_request,
61 net::URLFetcherDelegate* url_fetcher_delegate,
62 net::URLRequestContextGetter* url_request_context_getter);
63
64 // Returns true if the url request of |fetcher| was succesful.
65 bool FetchSuccess(const net::URLFetcher& fetcher);
66
67 // Returns the error code which occured during the fetch. The function returns 0
68 // if the fetch was successful. If errors happen, the function could return a
69 // network error, an http response code, or the status of the fetch, if the
70 // fetch is pending or canceled.
71 int GetFetchError(const net::URLFetcher& fetcher);
72
73 // Returns true if the |update_item| contains a valid differential update url.
74 bool HasDiffUpdate(const CrxUpdateItem* update_item);
75
76 // Returns true if the |status_code| represents a server error 5xx.
77 bool IsHttpServerError(int status_code);
78
79 // Deletes the file and its directory, if the directory is empty. If the
80 // parent directory is not empty, the function ignores deleting the directory.
81 // Returns true if the file and the empty directory are deleted.
82 bool DeleteFileAndEmptyParentDirectory(const base::FilePath& filepath);
83
84 // Returns the component id of the |component|. The component id is in a
85 // format similar with the format of an extension id.
86 std::string GetCrxComponentID(const CrxComponent& component);
87
88 } // namespace update_client
89
90 #endif // COMPONENTS_UPDATE_CLIENT_UTILS_H_
OLDNEW
« no previous file with comments | « components/update_client/url_fetcher_downloader.cc ('k') | components/update_client/utils.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698