blob: 31cac07f28dfc88290bf2d51a5d07425584ec6ec [file] [log] [blame]
// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "extensions/browser/api/serial/serial_service_factory.h"
#include "content/public/browser/browser_thread.h"
#include "device/serial/serial_service_impl.h"
namespace extensions {
namespace {
const base::Callback<void(
mojo::InterfaceRequest<device::serial::SerialService>)>*
g_serial_service_test_factory = nullptr;
}
void BindToSerialServiceRequest(
mojo::InterfaceRequest<device::serial::SerialService> request) {
if (g_serial_service_test_factory) {
g_serial_service_test_factory->Run(request.Pass());
return;
}
device::SerialServiceImpl::CreateOnMessageLoop(
content::BrowserThread::GetMessageLoopProxyForThread(
content::BrowserThread::FILE),
content::BrowserThread::GetMessageLoopProxyForThread(
content::BrowserThread::IO),
content::BrowserThread::GetMessageLoopProxyForThread(
content::BrowserThread::UI),
request.Pass());
}
void SetSerialServiceFactoryForTest(const base::Callback<
void(mojo::InterfaceRequest<device::serial::SerialService>)>* callback) {
g_serial_service_test_factory = callback;
}
} // namespace extensions