blob: d1383eac533ee245d8606da66b8c9b5d6dc5e924 [file] [log] [blame]
// Copyright 2019 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.
#include "device/vr/test/locked_vr_test_hook.h"
namespace device {
// LockedVRTestHook
LockedVRTestHook::LockedVRTestHook(VRTestHook* test_hook)
: test_hook_(test_hook) {
LockProvider::GetLock()->Acquire();
}
LockedVRTestHook::~LockedVRTestHook() {
LockProvider::GetLock()->Release();
}
VRTestHook* LockedVRTestHook::GetHook() {
return test_hook_;
}
// LockProvider
LockProvider* LockProvider::instance_ = nullptr;
base::Lock* LockProvider::GetLock() {
if (!instance_) {
instance_ = new LockProvider();
}
return &(instance_->lock_);
}
LockProvider::LockProvider() : lock_() {
DCHECK(!instance_);
}
LockProvider::~LockProvider() = default;
} // namespace device