diff --git a/headers/private/storage/DiskDevice.h b/headers/private/storage/DiskDevice.h index 0edb3cb721..7b0014cae7 100644 --- a/headers/private/storage/DiskDevice.h +++ b/headers/private/storage/DiskDevice.h @@ -17,12 +17,13 @@ public: BDiskDevice(); ~BDiskDevice(); + off_t Size() const; + int32 BlockSize() const; + int32 CountSessions() const; BSession *SessionAt(int32 index) const; int32 CountPartitions() const; - - int32 BlockSize() const; const char *DevicePath() const; void GetName(BString *name, bool includeBusID = true, @@ -34,21 +35,18 @@ public: bool IsRemovable() const; bool HasMedia() const; bool IsFloppy() const; - uint8 Type() const; // cf. device_geometry::device_type + uint8 Type() const; int32 UniqueID() const; status_t Eject(); status_t LowLevelFormat(); // TODO: remove? - status_t Update(); // sync this object with reality + status_t Update(); BSession *VisitEachSession(BDiskDeviceVisitor *visitor); - // return BSession* if terminated early BPartition *VisitEachPartition(BDiskDeviceVisitor *visitor); - // return BPartition* if terminated early bool Traverse(BDiskDeviceVisitor *visitor); - // return true if terminated early private: BDiskDevice(const BDiskDevice &); diff --git a/headers/private/storage/DiskDeviceRoster.h b/headers/private/storage/DiskDeviceRoster.h index 96efd0af31..9aac880753 100644 --- a/headers/private/storage/DiskDeviceRoster.h +++ b/headers/private/storage/DiskDeviceRoster.h @@ -7,6 +7,7 @@ #define _DISK_DEVICE_ROSTER_H #include +#include #include class BDiskDevice; @@ -54,36 +55,27 @@ public: bool VisitEachDevice(BDiskDeviceVisitor *visitor, BDiskDevice *device = NULL); - // return true if terminated early - bool VisitEachPartition(BDiskDeviceVisitor *visitor, BDiskDevice *device = NULL, BPartition **partition = NULL); - // return true if terminated early bool Traverse(BDiskDeviceVisitor *visitor); - // return true if terminated early bool VisitEachMountedPartition(BDiskDeviceVisitor *visitor, BDiskDevice *device = NULL, BPartition **partition = NULL); - // return true if terminated early bool VisitEachMountablePartition(BDiskDeviceVisitor *visitor, BDiskDevice *device = NULL, BPartition **partition = NULL); - // return true if terminated early bool VisitEachInitializablePartition(BDiskDeviceVisitor *visitor, BDiskDevice *device = NULL, BPartition **partition = NULL); - // return true if terminated early status_t GetDeviceWithID(int32 id, BDiskDevice *device) const; status_t GetSessionWithID(int32 id, BDiskDevice *device, BSession **session) const; - // inits device to the device containing the session status_t GetPartitionWithID(int32 id, BDiskDevice *device, BPartition **partition) const; - // inits device to the device containing the partition status_t StartWatching(BMessenger target, uint32 eventMask = B_DEVICE_REQUEST_ALL); diff --git a/headers/private/storage/Partition.h b/headers/private/storage/Partition.h index 62ffc13ce7..e759877886 100644 --- a/headers/private/storage/Partition.h +++ b/headers/private/storage/Partition.h @@ -18,9 +18,6 @@ class BVolume; class BPartition { public: - BPartition(); - ~BPartition(); - BSession *Session() const; BDiskDevice *Device() const; @@ -33,6 +30,7 @@ public: bool IsHidden() const; bool IsVirtual() const; bool IsEmpty() const; + bool ContainsFileSystem() const; const char *Name() const; const char *Type() const; @@ -50,22 +48,28 @@ public: status_t GetIcon(BBitmap *icon, icon_size which) const; - status_t Mount(uint32 mountflags = 0, const char *parameters = NULL); + status_t Mount(uint32 mountFlags = 0, const char *parameters = NULL); status_t Unmount(); status_t GetInitializationParameters(const char *fileSystem, - BPoint dialogCenter, + BString *volumeName, BString *parameters, + BPoint dialogCenter = BPoint(-1, -1), bool *cancelled = NULL); - status_t Initialize(const char *fileSystem, const char *parameters); + status_t Initialize(const char *fileSystem, const char *volumeName, + const char *parameters); status_t Initialize(const char *fileSystem = "bfs", BPoint dialogCenter = BPoint(-1, -1), bool *cancelled = NULL); - static status_t GetFileSystemList(BObjectList *list); +// TODO: Return more info, e.g. the long name? + static status_t GetFileSystemList(BObjectList *list); private: + BPartition(); BPartition(const BPartition &); + ~BPartition(); + BPartition &operator=(const BPartition &); private: diff --git a/headers/private/storage/Session.h b/headers/private/storage/Session.h index d101fe6b78..91354e7745 100644 --- a/headers/private/storage/Session.h +++ b/headers/private/storage/Session.h @@ -15,13 +15,10 @@ class BDiskDevice; class BPartition; -extern const char *B_INTEL_PARTITION_STYLE; +extern const char *B_INTEL_PARTITIONING; class BSession { public: - BSession(); - ~BSession(); - BDiskDevice *Device() const; off_t Offset() const; @@ -37,23 +34,26 @@ public: bool IsData() const; bool IsVirtual() const; - const char *PartitionStyle() const; + const char *PartitioningSystem() const; int32 UniqueID() const; - BPartition *EachPartition(BDiskDeviceVisitor *visitor); - // return BPartition* if terminated early + BPartition *VisitEachPartition(BDiskDeviceVisitor *visitor); status_t GetPartitioningParameters(const char *partitioningSystem, - BPoint dialogCenter, BString *parameters, + BPoint dialogCenter = BPoint(-1, -1), bool *cancelled = NULL); status_t Partition(const char *partitioningSystem, const char *parameters); status_t Partition(const char *partitioningSystem, BPoint dialogCenter = BPoint(-1, -1), bool *cancelled = NULL); + static status_t GetPartitioningSystemList(BObjectList *list); + private: + BSession(); + ~BSession(); BSession(const BSession &); BSession &operator=(const BSession &);