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" 61320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "extensions/browser/api/system_cpu/cpu_info_provider.h" 71320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "extensions/browser/api/system_cpu/system_cpu_api.h" 8c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch#include "extensions/common/features/base_feature_provider.h" 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace extensions { 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 121320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucciusing core_api::system_cpu::CpuInfo; 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 149ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben MurdochSystemCpuGetInfoFunction::SystemCpuGetInfoFunction() { 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 179ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben MurdochSystemCpuGetInfoFunction::~SystemCpuGetInfoFunction() { 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 20010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)bool SystemCpuGetInfoFunction::RunAsync() { 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) CpuInfoProvider::Get()->StartQueryInfo( 229ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch base::Bind(&SystemCpuGetInfoFunction::OnGetCpuInfoCompleted, this)); 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return true; 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 269ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdochvoid SystemCpuGetInfoFunction::OnGetCpuInfoCompleted(bool success) { 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (success) 287dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch SetResult(CpuInfoProvider::Get()->cpu_info().ToValue().release()); 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) else 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) SetError("Error occurred when querying cpu information."); 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) SendResponse(success); 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace extensions 35