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#include "base/command_line.h"
6#include "extensions/browser/api/system_cpu/cpu_info_provider.h"
7#include "extensions/browser/api/system_cpu/system_cpu_api.h"
8#include "extensions/common/features/base_feature_provider.h"
9
10namespace extensions {
11
12using core_api::system_cpu::CpuInfo;
13
14SystemCpuGetInfoFunction::SystemCpuGetInfoFunction() {
15}
16
17SystemCpuGetInfoFunction::~SystemCpuGetInfoFunction() {
18}
19
20bool SystemCpuGetInfoFunction::RunAsync() {
21  CpuInfoProvider::Get()->StartQueryInfo(
22      base::Bind(&SystemCpuGetInfoFunction::OnGetCpuInfoCompleted, this));
23  return true;
24}
25
26void SystemCpuGetInfoFunction::OnGetCpuInfoCompleted(bool success) {
27  if (success)
28    SetResult(CpuInfoProvider::Get()->cpu_info().ToValue().release());
29  else
30    SetError("Error occurred when querying cpu information.");
31  SendResponse(success);
32}
33
34}  // namespace extensions
35