1// Copyright 2014 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 "extensions/browser/api/hid/hid_connection_resource.h" 6 7#include <string> 8 9#include "base/bind.h" 10#include "base/bind_helpers.h" 11#include "base/lazy_instance.h" 12#include "base/memory/ref_counted.h" 13#include "device/hid/hid_connection.h" 14 15namespace extensions { 16 17static base::LazyInstance< 18 BrowserContextKeyedAPIFactory<ApiResourceManager<HidConnectionResource> > > 19 g_factory = LAZY_INSTANCE_INITIALIZER; 20 21// static 22template <> 23BrowserContextKeyedAPIFactory<ApiResourceManager<HidConnectionResource> >* 24ApiResourceManager<HidConnectionResource>::GetFactoryInstance() { 25 return &g_factory.Get(); 26} 27 28HidConnectionResource::HidConnectionResource( 29 const std::string& owner_extension_id, 30 scoped_refptr<device::HidConnection> connection) 31 : ApiResource(owner_extension_id), connection_(connection) {} 32 33HidConnectionResource::~HidConnectionResource() { 34 connection_->Close(); 35} 36 37bool HidConnectionResource::IsPersistent() const { 38 return false; 39} 40 41} // namespace extensions 42