sync_file_system_test_util.cc revision 2385ea399aae016c0806a4f9ef3c9cfe3d2a39df
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#include "chrome/browser/sync_file_system/sync_file_system_test_util.h" 6 7#include "base/bind.h" 8#include "base/message_loop/message_loop_proxy.h" 9#include "base/run_loop.h" 10#include "base/single_thread_task_runner.h" 11#include "base/threading/thread.h" 12#include "chrome/browser/sync_file_system/sync_status_code.h" 13#include "content/public/browser/browser_thread.h" 14#include "content/public/test/test_utils.h" 15 16using content::BrowserThread; 17 18namespace sync_file_system { 19 20template <typename R> 21void AssignAndQuit(base::RunLoop* run_loop, R* result_out, R result) { 22 DCHECK(result_out); 23 DCHECK(run_loop); 24 *result_out = result; 25 run_loop->Quit(); 26} 27 28template <typename R> base::Callback<void(R)> 29AssignAndQuitCallback(base::RunLoop* run_loop, R* result) { 30 return base::Bind(&AssignAndQuit<R>, run_loop, base::Unretained(result)); 31} 32 33// Instantiate versions we know callers will need. 34template base::Callback<void(SyncStatusCode)> 35AssignAndQuitCallback(base::RunLoop*, SyncStatusCode*); 36 37} // namespace sync_file_system 38