1a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch// Copyright 2013 The Chromium Authors. All rights reserved. 2a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch// Use of this source code is governed by a BSD-style license that can be 3a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch// found in the LICENSE file. 4a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch 5a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch#include "chrome/browser/extensions/api/system_memory/system_memory_api.h" 6a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch 7a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch#include "chrome/browser/extensions/api/system_memory/memory_info_provider.h" 8a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch 9a3f7b4e666c476898878fa745f637129375cd889Ben Murdochnamespace extensions { 10a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch 11a3f7b4e666c476898878fa745f637129375cd889Ben Murdochusing api::system_memory::MemoryInfo; 12a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch 13a3f7b4e666c476898878fa745f637129375cd889Ben MurdochSystemMemoryGetInfoFunction::SystemMemoryGetInfoFunction() {} 14a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch 15a3f7b4e666c476898878fa745f637129375cd889Ben MurdochSystemMemoryGetInfoFunction::~SystemMemoryGetInfoFunction() {} 16a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch 17a3f7b4e666c476898878fa745f637129375cd889Ben Murdochbool SystemMemoryGetInfoFunction::RunImpl() { 18a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch MemoryInfoProvider::Get()->StartQueryInfo( 19a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch base::Bind(&SystemMemoryGetInfoFunction::OnGetMemoryInfoCompleted, this)); 20a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch return true; 21a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch} 22a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch 23a3f7b4e666c476898878fa745f637129375cd889Ben Murdochvoid SystemMemoryGetInfoFunction::OnGetMemoryInfoCompleted(bool success) { 24a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch if (success) 25a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch SetResult(MemoryInfoProvider::Get()->memory_info().ToValue().release()); 26a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch else 27a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch SetError("Error occurred when querying memory information."); 28a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch SendResponse(success); 29a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch} 30a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch 31a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch} // namespace extensions 32