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.
4
5#ifndef CHROME_BROWSER_UI_WEBUI_VERSION_HANDLER_CHROMEOS_H_
6#define CHROME_BROWSER_UI_WEBUI_VERSION_HANDLER_CHROMEOS_H_
7
8#include <string>
9
10#include "chrome/browser/chromeos/version_loader.h"
11#include "chrome/browser/ui/webui/version_handler.h"
12
13// VersionHandlerChromeOS is responsible for loading the Chrome OS
14// version.
15class VersionHandlerChromeOS : public VersionHandler {
16 public:
17  VersionHandlerChromeOS();
18  virtual ~VersionHandlerChromeOS();
19
20  // VersionHandler overrides:
21  virtual void HandleRequestVersionInfo(const base::ListValue* args) OVERRIDE;
22
23  // Callback from chromeos::VersionLoader giving the version.
24  void OnVersion(const std::string& version);
25
26 private:
27  // Handles asynchronously loading the version.
28  chromeos::VersionLoader loader_;
29
30  // Used to request the version.
31  base::CancelableTaskTracker tracker_;
32
33  DISALLOW_COPY_AND_ASSIGN(VersionHandlerChromeOS);
34};
35
36#endif  // CHROME_BROWSER_UI_WEBUI_VERSION_HANDLER_CHROMEOS_H_
37