blob: 57a3ee92ce4d52049ac42e2e6fd9980246790472 [file] [log] [blame]
// Copyright 2018 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 CHROMEOS_SERVICES_MULTIDEVICE_SETUP_SETUP_FLOW_COMPLETION_RECORDER_H_
#define CHROMEOS_SERVICES_MULTIDEVICE_SETUP_SETUP_FLOW_COMPLETION_RECORDER_H_
#include "base/optional.h"
#include "base/time/time.h"
namespace chromeos {
namespace multidevice_setup {
// Records time at which the logged in user completed the MultiDevice setup flow
// on this device.
class SetupFlowCompletionRecorder {
public:
virtual ~SetupFlowCompletionRecorder() = default;
// If the logged in GAIA account has completed the MultiDevice setup flow on
// this device, this returns the time at which the flow was completed.
// Otherwise it returns base::nullopt.
virtual base::Optional<base::Time> GetCompletionTimestamp() = 0;
virtual void RecordCompletion() = 0;
protected:
SetupFlowCompletionRecorder() = default;
private:
DISALLOW_COPY_AND_ASSIGN(SetupFlowCompletionRecorder);
};
} // namespace multidevice_setup
} // namespace chromeos
#endif // CHROMEOS_SERVICES_MULTIDEVICE_SETUP_SETUP_FLOW_COMPLETION_RECORDER_H_