blob: feb2dfdd7f915c42703aac1a9cdf5ff3b37aafab [file] [log] [blame]
[email protected]15732672012-06-20 18:58:261// Copyright (c) 2012 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.
4
5#ifndef SYNC_SYNCABLE_SCOPED_KERNEL_LOCK_H_
6#define SYNC_SYNCABLE_SCOPED_KERNEL_LOCK_H_
[email protected]15732672012-06-20 18:58:267
8#include "base/basictypes.h"
9#include "base/synchronization/lock.h"
10
[email protected]9cfc7c702012-07-02 22:54:1711namespace syncer {
[email protected]15732672012-06-20 18:58:2612namespace syncable {
13
14class Directory;
15
16class ScopedKernelLock {
17 public:
18 explicit ScopedKernelLock(const Directory* dir);
19 ~ScopedKernelLock() {}
20
21 base::AutoLock scoped_lock_;
22 Directory* const dir_;
23 DISALLOW_COPY_AND_ASSIGN(ScopedKernelLock);
24};
25
26} // namespace syncable
[email protected]9cfc7c702012-07-02 22:54:1727} // namespace syncer
[email protected]15732672012-06-20 18:58:2628
29#endif // SYNC_SYNCABLE_SCOPED_KERNEL_LOCK_H_