Added a DiskSystemLoader class.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3901 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -151,6 +151,7 @@ private:
|
||||
// instantiations
|
||||
class KDiskDevice;
|
||||
class KDiskDeviceManager;
|
||||
class KDiskSystem;
|
||||
class KPartition;
|
||||
|
||||
typedef AutoLocker<KDiskDevice, AutoLockerReadLocking<KDiskDevice> >
|
||||
@@ -178,6 +179,24 @@ public:
|
||||
typedef AutoLocker<KPartition, AutoLockerPartitionRegistration<> >
|
||||
PartitionRegistrar;
|
||||
|
||||
// AutoLockerDiskSystemLoading
|
||||
template<const int dummy = 0>
|
||||
class AutoLockerDiskSystemLoading {
|
||||
public:
|
||||
inline bool Lock(KDiskSystem *diskSystem)
|
||||
{
|
||||
return (diskSystem->Load() == B_OK);
|
||||
}
|
||||
|
||||
inline void Unlock(KDiskSystem *diskSystem)
|
||||
{
|
||||
diskSystem->Unload();
|
||||
}
|
||||
};
|
||||
|
||||
typedef AutoLocker<KDiskSystem, AutoLockerDiskSystemLoading<> >
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user