Beginning of the integration with the new userland disk system add-on

based code. Small API changes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22561 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Ingo Weinhold
2007-10-15 00:41:18 +00:00
parent 0c13f74dfb
commit 28541deac2
4 changed files with 457 additions and 280 deletions
+15 -8
View File
@@ -95,12 +95,12 @@ public:
status_t Move(off_t newOffset); status_t Move(off_t newOffset);
bool CanSetName() const; bool CanSetName() const;
status_t ValidateSetName(char *name) const; status_t ValidateSetName(BString* name) const;
// adjusts name to be suitable // adjusts name to be suitable
status_t SetName(const char *name); status_t SetName(const char *name);
bool CanSetContentName(bool *whileMounted = NULL) const; bool CanSetContentName(bool *whileMounted = NULL) const;
status_t ValidateSetContentName(char *name) const; status_t ValidateSetContentName(BString* name) const;
// adjusts name to be suitable // adjusts name to be suitable
status_t SetContentName(const char *name); status_t SetContentName(const char *name);
@@ -121,7 +121,7 @@ public:
bool CanInitialize(const char *diskSystem) const; bool CanInitialize(const char *diskSystem) const;
status_t GetInitializationParameterEditor(const char *system, status_t GetInitializationParameterEditor(const char *system,
BDiskDeviceParameterEditor **editor) const; BDiskDeviceParameterEditor **editor) const;
status_t ValidateInitialize(const char *diskSystem, char *name, status_t ValidateInitialize(const char *diskSystem, BString* name,
const char *parameters); const char *parameters);
status_t Initialize(const char *diskSystem, const char *name, status_t Initialize(const char *diskSystem, const char *name,
const char *parameters); const char *parameters);
@@ -130,12 +130,12 @@ public:
// Modification of child partitions // Modification of child partitions
bool CanCreateChild() const; bool CanCreateChild() const;
status_t GetChildCreationParameterEditor(const char *system, status_t GetChildCreationParameterEditor(const char *type,
BDiskDeviceParameterEditor **editor) const; BDiskDeviceParameterEditor **editor) const;
status_t ValidateCreateChild(off_t *start, off_t *size, status_t ValidateCreateChild(off_t* start, off_t* size,
const char *type, const char *parameters) const; const char* type, BString* name, const char* parameters) const;
status_t CreateChild(off_t start, off_t size, const char *type, status_t CreateChild(off_t start, off_t size, const char* type,
const char *parameters, BPartition **child = NULL); const char* name, const char* parameters, BPartition** child = NULL);
bool CanDeleteChild(int32 index) const; bool CanDeleteChild(int32 index) const;
status_t DeleteChild(int32 index); status_t DeleteChild(int32 index);
@@ -167,6 +167,13 @@ private:
BPartition *_VisitEachDescendant(BDiskDeviceVisitor *visitor, BPartition *_VisitEachDescendant(BDiskDeviceVisitor *visitor,
int32 level = -1); int32 level = -1);
const user_partition_data* _PartitionData() const;
bool _HasContent() const;
bool _SupportsOperation(uint32 flag, uint32 whileMountedFlag,
bool* whileMounted) const;
bool _SupportsChildOperation(const BPartition* child, uint32 flag) const;
friend class BDiskDevice; friend class BDiskDevice;
friend class BDiskSystem; friend class BDiskSystem;
friend class BMutablePartition; friend class BMutablePartition;
File diff suppressed because it is too large Load Diff
+11
View File
@@ -458,6 +458,17 @@ BPartition::Delegate::Uninitialize()
} }
// GetPartitioningInfo
status_t
BPartition::Delegate::GetPartitioningInfo(BPartitioningInfo* info)
{
if (!fPartitionHandle)
return B_NO_INIT;
return fPartitionHandle->GetPartitioningInfo(info);
}
// GetChildCreationParameterEditor // GetChildCreationParameterEditor
status_t status_t
BPartition::Delegate::GetChildCreationParameterEditor(const char* type, BPartition::Delegate::GetChildCreationParameterEditor(const char* type,
+2
View File
@@ -85,6 +85,8 @@ public:
// Modification of child partitions // Modification of child partitions
status_t GetPartitioningInfo(BPartitioningInfo* info);
status_t GetChildCreationParameterEditor( status_t GetChildCreationParameterEditor(
const char* system, const char* system,
BDiskDeviceParameterEditor** editor) const; BDiskDeviceParameterEditor** editor) const;