1 // Copyright 2015 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.
5 #ifndef COMPONENTS_PROXIMITY_AUTH_WEBUI_PROXIMITY_AUTH_UI_DELEGATE_H_
6 #define COMPONENTS_PROXIMITY_AUTH_WEBUI_PROXIMITY_AUTH_UI_DELEGATE_H_
8 #include "base/memory/scoped_ptr.h"
9 #include "components/proximity_auth/cryptauth/proto/cryptauth_api.pb.h"
11 namespace proximity_auth
{
13 class CryptAuthClientFactory
;
15 // A delegate used by the chrome://proximity-auth WebUI, used to get
16 // implmentations with dependencies on chrome.
17 class ProximityAuthUIDelegate
{
19 virtual ~ProximityAuthUIDelegate() {}
21 // Constructs the CryptAuthClientFactory that can be used for API requests.
22 virtual scoped_ptr
<CryptAuthClientFactory
> CreateCryptAuthClientFactory() = 0;
24 // Constructs the DeviceClassifier message that is sent to CryptAuth for all
26 virtual cryptauth::DeviceClassifier
GetDeviceClassifier() = 0;
29 } // namespace proximity_auth
31 #endif // COMPONENTS_PROXIMITY_AUTH_WEBUI_PROXIMITY_AUTH_UI_DELEGATE_H_