1// Copyright 2013 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#ifndef REMOTING_HOST_PAIRING_REGISTRY_DELEGATE_H_ 6#define REMOTING_HOST_PAIRING_REGISTRY_DELEGATE_H_ 7 8#include "base/memory/ref_counted.h" 9#include "base/memory/scoped_ptr.h" 10#include "remoting/protocol/pairing_registry.h" 11 12namespace base { 13class SingleThreadTaskRunner; 14} // namespace base 15 16namespace remoting { 17// Returns a platform-specific pairing registry delegate that will save to 18// permanent storage. Returns NULL on platforms that don't support pairing. 19scoped_ptr<protocol::PairingRegistry::Delegate> 20CreatePairingRegistryDelegate(); 21 22// Convenience function which returns a new PairingRegistry, using the delegate 23// returned by CreatePairingRegistryDelegate(). The passed |task_runner| is used 24// to run the delegate's methods asynchronously. 25scoped_refptr<protocol::PairingRegistry> CreatePairingRegistry( 26 scoped_refptr<base::SingleThreadTaskRunner> task_runner); 27 28} // namespace remoting 29 30#endif // REMOTING_HOST_PAIRING_REGISTRY_DELEGATE_H_ 31