1 //---------------------------------------------------------------------- 2 // This software is part of the OpenBeOS distribution and is covered 3 // by the OpenBeOS license. 4 //--------------------------------------------------------------------- 5 6 #ifndef _PARTITIONING_INFO_H 7 #define _PARTITIONING_INFO_H 8 9 #include <DiskDeviceDefs.h> 10 11 struct partitionable_space_data; 12 13 class BPartitioningInfo { 14 public: 15 BPartitioningInfo(); 16 virtual ~BPartitioningInfo(); 17 18 void Unset(); 19 20 partition_id PartitionID() const; 21 22 status_t GetPartitionableSpaceAt(int32 index, off_t *offset, 23 off_t *size) const; 24 int32 CountPartitionableSpaces() const; 25 26 private: 27 status_t _SetTo(partition_id partition, int32 changeCounter); 28 29 friend class BPartition; 30 31 partition_id fPartitionID; 32 partitionable_space_data *fSpaces; 33 int32 fCount; 34 }; 35 36 #endif // _PARTITIONING_INFO_H 37