19ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch// Copyright 2013 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "base/command_line.h" 69ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch#include "chrome/browser/extensions/api/system_cpu/cpu_info_provider.h" 79ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch#include "chrome/browser/extensions/api/system_cpu/system_cpu_api.h" 8868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "chrome/common/chrome_switches.h" 9868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "chrome/common/extensions/features/base_feature_provider.h" 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace extensions { 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 139ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdochusing api::system_cpu::CpuInfo; 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 159ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben MurdochSystemCpuGetInfoFunction::SystemCpuGetInfoFunction() { 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 189ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben MurdochSystemCpuGetInfoFunction::~SystemCpuGetInfoFunction() { 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 219ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdochbool SystemCpuGetInfoFunction::RunImpl() { 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) CpuInfoProvider::Get()->StartQueryInfo( 239ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch base::Bind(&SystemCpuGetInfoFunction::OnGetCpuInfoCompleted, this)); 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return true; 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 279ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdochvoid SystemCpuGetInfoFunction::OnGetCpuInfoCompleted(bool success) { 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (success) 297dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch SetResult(CpuInfoProvider::Get()->cpu_info().ToValue().release()); 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) else 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) SetError("Error occurred when querying cpu information."); 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) SendResponse(success); 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace extensions 36