Update mojo sdk to rev c02a28868825edfa57ab77947b8cb15e741c5598
[chromium-blink-merge.git] / components / proximity_auth / controller.h
blob4261e7822105a79bd7d063de4e3292c7be307df8
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_CONTROLLER_H
6 #define COMPONENTS_PROXIMITY_AUTH_CONTROLLER_H
8 #include "base/macros.h"
10 namespace proximity_auth {
12 class Client;
14 // Main class that controls the logic flow of the Easy Unlock system.
15 class Controller {
16 public:
17 enum class State {
18 NOT_STARTED,
19 FINDING_CONNECTION,
20 AUTHENTICATING,
21 SECURE_CHANNEL_ESTABLISHED,
22 AUTHENTICATION_FAILED,
23 STOPPED,
26 virtual ~Controller() {}
28 virtual State GetState() const = 0;
29 virtual Client* GetClient() = 0;
32 } // namespace proximity_auth
34 #endif // COMPONENTS_PROXIMITY_AUTH_CONTROLLER_H