1 // Copyright (c) 2012 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.
5 #ifndef CHROME_BROWSER_SAFE_BROWSING_PROTOCOL_MANAGER_HELPER_H_
6 #define CHROME_BROWSER_SAFE_BROWSING_PROTOCOL_MANAGER_HELPER_H_
8 // A class that provides common functionality for safebrowsing protocol managers
9 // that communicate with Google servers.
13 #include "base/memory/ref_counted.h"
14 #include "base/memory/scoped_ptr.h"
16 #include "base/gtest_prod_util.h"
18 struct SafeBrowsingProtocolConfig
{
19 SafeBrowsingProtocolConfig();
20 ~SafeBrowsingProtocolConfig();
21 std::string client_name
;
22 std::string url_prefix
;
23 std::string backup_connect_error_url_prefix
;
24 std::string backup_http_error_url_prefix
;
25 std::string backup_network_error_url_prefix
;
27 bool disable_auto_update
;
28 #if defined(OS_ANDROID)
29 bool disable_connection_check
;
33 class SafeBrowsingProtocolManagerHelper
{
36 static std::string
Version();
38 // Composes a URL using |prefix|, |method| (e.g.: gethash, download, report).
39 // |client_name| and |version|. When not empty, |additional_query| is
40 // appended to the URL with an additional "&" in the front.
41 static std::string
ComposeUrl(const std::string
& prefix
,
42 const std::string
& method
,
43 const std::string
& client_name
,
44 const std::string
& version
,
45 const std::string
& additional_query
);
48 DISALLOW_IMPLICIT_CONSTRUCTORS(SafeBrowsingProtocolManagerHelper
);
51 #endif // CHROME_BROWSER_SAFE_BROWSING_PROTOCOL_MANAGER_HELPER_H_