From bf5ffb0203e30203ac27944fe3ca76e65b315bb0 Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Tue, 8 Jul 2003 23:30:30 +0000 Subject: [PATCH] Added missing manipulation methods (though no implementation). Some cleanup. Renamed UniqueID() to ID(). git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3906 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- headers/private/storage/Partition.h | 25 ++++++++++++++++++++----- src/kits/storage/Partition.cpp | 13 +++++++++++-- 2 files changed, 31 insertions(+), 7 deletions(-) diff --git a/headers/private/storage/Partition.h b/headers/private/storage/Partition.h index 5e30aba646..72437cdbef 100644 --- a/headers/private/storage/Partition.h +++ b/headers/private/storage/Partition.h @@ -35,6 +35,7 @@ public: bool IsDevice() const; bool IsReadOnly() const; bool IsMounted() const; + bool IsBusy() const; uint32 Flags() const; @@ -42,8 +43,7 @@ public: const char *ContentName() const; const char *Type() const; // See DiskDeviceTypes.h const char *ContentType() const; // See DiskDeviceTypes.h - partition_id UniqueID() const; - // TODO: just ID() ? + partition_id ID() const; status_t GetDiskSystem(BDiskSystem *diskSystem) const; @@ -82,13 +82,28 @@ public: status_t ValidateMove(off_t*) const; status_t Move(off_t); + bool CanSetName() const; + status_t ValidateSetName(char *name) const; + // adjusts name to be suitable + status_t SetName(const char *name); + + bool CanSetContentName(bool *whileMounted = NULL) const; + status_t ValidateSetContentName(char *name) const; + // adjusts name to be suitable + status_t SetContentName(const char *name); + + bool CanSetType() const; + status_t ValidateSetType(const char *type) const; + // type must be one the parent disk system's GetNextSupportedType() + // returns. + status_t SetType(const char *type); + bool CanEditParameters(bool *whileMounted = NULL) const; status_t GetParameterEditor( BDiskScannerParameterEditor **editor, BDiskScannerParameterEditor **contentEditor); - status_t SetParameters(const char *parameters, const char *contentParameters); - -// TODO: Add name/content name editing methods, Also in BDiskSystem. + status_t SetParameters(const char *parameters, + const char *contentParameters); bool CanInitialize(const char *diskSystem) const; status_t GetInitializationParameterEditor(const char *system, diff --git a/src/kits/storage/Partition.cpp b/src/kits/storage/Partition.cpp index b2a058d071..154dfb9941 100644 --- a/src/kits/storage/Partition.cpp +++ b/src/kits/storage/Partition.cpp @@ -135,6 +135,15 @@ BPartition::IsMounted() const // return (fPartitionData && fPartitionData->volume >= 0); } +// IsBusy +bool +BPartition::IsBusy() const +{ + return (fPartitionData + && (fPartitionData->flags + & (B_PARTITION_BUSY | B_PARTITION_DESCENDANT_BUSY))); +} + // Flags /*! \brief Returns the flags for this partitions. @@ -194,7 +203,7 @@ BPartition::ContentType() const return (fPartitionData ? fPartitionData->content_type : NULL); } -// UniqueID +// ID /*! \brief Returns a unique identifier for this partition. The ID is not persistent, i.e. in general won't be the same after @@ -205,7 +214,7 @@ BPartition::ContentType() const \return A unique identifier for this partition. */ int32 -BPartition::UniqueID() const +BPartition::ID() const { return (fPartitionData ? fPartitionData->id : -1); }