blob: 4261e7822105a79bd7d063de4e3292c7be307df8 [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.
#ifndef COMPONENTS_PROXIMITY_AUTH_CONTROLLER_H
#define COMPONENTS_PROXIMITY_AUTH_CONTROLLER_H
#include "base/macros.h"
namespace proximity_auth {
class Client;
// Main class that controls the logic flow of the Easy Unlock system.
class Controller {
public:
enum class State {
NOT_STARTED,
FINDING_CONNECTION,
AUTHENTICATING,
SECURE_CHANNEL_ESTABLISHED,
AUTHENTICATION_FAILED,
STOPPED,
};
virtual ~Controller() {}
virtual State GetState() const = 0;
virtual Client* GetClient() = 0;
};
} // namespace proximity_auth
#endif // COMPONENTS_PROXIMITY_AUTH_CONTROLLER_H