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
|
// instantiations
|
||||||
class KDiskDevice;
|
class KDiskDevice;
|
||||||
class KDiskDeviceManager;
|
class KDiskDeviceManager;
|
||||||
|
class KDiskSystem;
|
||||||
class KPartition;
|
class KPartition;
|
||||||
|
|
||||||
typedef AutoLocker<KDiskDevice, AutoLockerReadLocking<KDiskDevice> >
|
typedef AutoLocker<KDiskDevice, AutoLockerReadLocking<KDiskDevice> >
|
||||||
@@ -178,6 +179,24 @@ public:
|
|||||||
typedef AutoLocker<KPartition, AutoLockerPartitionRegistration<> >
|
typedef AutoLocker<KPartition, AutoLockerPartitionRegistration<> >
|
||||||
PartitionRegistrar;
|
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 DiskDevice
|
||||||
} // namespace BPrivate
|
} // namespace BPrivate
|
||||||
|
|
||||||
@@ -187,5 +206,6 @@ using BPrivate::DiskDevice::DeviceReadLocker;
|
|||||||
using BPrivate::DiskDevice::DeviceWriteLocker;
|
using BPrivate::DiskDevice::DeviceWriteLocker;
|
||||||
using BPrivate::DiskDevice::ManagerLocker;
|
using BPrivate::DiskDevice::ManagerLocker;
|
||||||
using BPrivate::DiskDevice::PartitionRegistrar;
|
using BPrivate::DiskDevice::PartitionRegistrar;
|
||||||
|
using BPrivate::DiskDevice::DiskSystemLoader;
|
||||||
|
|
||||||
#endif // _K_DISK_DEVICE_H
|
#endif // _K_DISK_DEVICE_H
|
||||||
|
|||||||
Reference in New Issue
Block a user