- add sources.
[platform/framework/web/crosswalk.git] / src / chrome / browser / component_updater / component_updater_ping_manager.h
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_BROWSER_COMPONENT_UPDATER_COMPONENT_UPDATER_PING_MANAGER_H_
6 #define CHROME_BROWSER_COMPONENT_UPDATER_COMPONENT_UPDATER_PING_MANAGER_H_
7
8 #include "base/basictypes.h"
9 #include "base/compiler_specific.h"
10 #include "url/gurl.h"
11
12 namespace net {
13 class URLRequestContextGetter;
14 }  // namespace net
15
16 struct CrxUpdateItem;
17
18 namespace component_updater {
19
20 // Provides an event sink for completion events from ComponentUpdateService
21 // and sends fire-and-forget pings when handling these events.
22 class PingManager {
23  public:
24   PingManager(const GURL& ping_url,
25               net::URLRequestContextGetter* url_request_context_getter);
26   ~PingManager();
27
28   void OnUpdateComplete(const CrxUpdateItem* item);
29  private:
30   const GURL ping_url_;
31
32   // This member is not owned by this class.
33   net::URLRequestContextGetter* url_request_context_getter_;
34
35   DISALLOW_COPY_AND_ASSIGN(PingManager);
36 };
37
38 }  // namespace component_updater
39
40 #endif  // CHROME_BROWSER_COMPONENT_UPDATER_COMPONENT_UPDATER_PING_MANAGER_H_
41