From 621e29d0b5ec2c547fa6e1445f8628a1bc544976 Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Tue, 8 Jul 2003 23:21:34 +0000 Subject: [PATCH] Added a DiskSystemLoader class. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3901 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- .../disk_device_manager/KDiskDeviceUtils.h | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/headers/private/kernel/disk_device_manager/KDiskDeviceUtils.h b/headers/private/kernel/disk_device_manager/KDiskDeviceUtils.h index 3ba9362185..ab7d7345d3 100644 --- a/headers/private/kernel/disk_device_manager/KDiskDeviceUtils.h +++ b/headers/private/kernel/disk_device_manager/KDiskDeviceUtils.h @@ -151,6 +151,7 @@ private: // instantiations class KDiskDevice; class KDiskDeviceManager; +class KDiskSystem; class KPartition; typedef AutoLocker > @@ -178,6 +179,24 @@ public: typedef AutoLocker > PartitionRegistrar; +// AutoLockerDiskSystemLoading +template +class AutoLockerDiskSystemLoading { +public: + inline bool Lock(KDiskSystem *diskSystem) + { + return (diskSystem->Load() == B_OK); + } + + inline void Unlock(KDiskSystem *diskSystem) + { + diskSystem->Unload(); + } +}; + +typedef AutoLocker > + DiskSystemLoader; + } // namespace DiskDevice } // namespace BPrivate @@ -187,5 +206,6 @@ using BPrivate::DiskDevice::DeviceReadLocker; using BPrivate::DiskDevice::DeviceWriteLocker; using BPrivate::DiskDevice::ManagerLocker; using BPrivate::DiskDevice::PartitionRegistrar; +using BPrivate::DiskDevice::DiskSystemLoader; #endif // _K_DISK_DEVICE_H