xref: /haiku/headers/private/storage/PartitioningInfo.h (revision 51978af14a173e7fae0563b562be5603bc652aeb)
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