* Initialization of BPartition::Delegate is now two-phased. The first phase

builds the object hierarchy, the second will (in case of MutableDelegate)
  let the disk systems do their initialization. This way the disk systems
  already find a fully functional object hierarchy they can work with.
* Child creation also takes a partition name as a parameter, now.
* Implemented BMutablePartition child creation/deletion.
* The BDiskSystemAddOn/BPartitionHandle::Validate*() methods return a
  status_t instead of a bool, now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22540 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Ingo Weinhold
2007-10-13 21:29:33 +00:00
parent 103ca6a3ad
commit 350043e707
6 changed files with 208 additions and 84 deletions
+9 -1
View File
@@ -55,10 +55,16 @@ public:
status_t CreateChild(int32 index,
BMutablePartition** child);
status_t CreateChild(int32 index, const char* type,
const char* name, const char* parameters,
BMutablePartition** child);
status_t DeleteChild(int32 index);
status_t DeleteChild(BMutablePartition* child);
BMutablePartition* Parent() const;
BMutablePartition* ChildAt(int32 index) const;
int32 CountChildren() const;
int32 IndexOfChild(BMutablePartition* child) const;
// for the partitioning system managing the parent
void* ChildCookie() const;
@@ -69,7 +75,8 @@ private:
BPartition::MutableDelegate* delegate);
~BMutablePartition();
status_t Init(const user_partition_data* partitionData);
status_t Init(const user_partition_data* partitionData,
BMutablePartition* parent);
const user_partition_data* PartitionData() const;
@@ -80,6 +87,7 @@ private:
BPartition::MutableDelegate* fDelegate;
user_partition_data* fData;
BMutablePartition* fParent;
BList fChildren;
void* fChildCookie;
};