//---------------------------------------------------------------------- // This software is part of the OpenBeOS distribution and is covered // by the OpenBeOS license. //--------------------------------------------------------------------- #ifndef _DISK_SYSTEM_H #define _DISK_SYSTEM_H #include #include class BPartition; struct user_disk_system_info; class BDiskSystem { public: BDiskSystem(); ~BDiskSystem(); status_t InitCheck() const; const char *Name() const; const char *PrettyName() const; bool SupportsDefragmenting(bool *whileMounted) const; bool SupportsRepairing(bool checkOnly, bool *whileMounted) const; bool SupportsResizing(bool *whileMounted) const; bool SupportsResizingChild() const; bool SupportsMoving(bool *whileMounted) const; bool SupportsMovingChild() const; bool SupportsSettingName() const; bool SupportsSettingContentName(bool *whileMounted) const; bool SupportsSettingType() const; bool SupportsSettingParameters() const; bool SupportsSettingContentParameters(bool *whileMounted) const; bool SupportsCreatingChild() const; bool SupportsDeletingChild() const; bool SupportsInitializing() const; status_t GetNextSupportedType(BPartition *partition, int32 *cookie, char *type) const; // Returns all types the disk system supports for children of the // supplied partition. status_t GetTypeForContentType(const char *contentType, char *type) const; bool IsPartitioningSystem() const; bool IsFileSystem() const; bool IsSubSystemFor(BPartition *parent) const; private: status_t _SetTo(disk_system_id id); status_t _SetTo(user_disk_system_info *info); void _Unset(); friend class BDiskDeviceRoster; friend class BPartition; disk_system_id fID; BString fName; BString fPrettyName; uint32 fFlags; }; #endif // _DISK_SYSTEM_H