// ---------------------------------------------------------------------- // This software is part of the OpenBeOS distribution and is covered // by the OpenBeOS license. // // File Name: Directory.cpp // // Description: BVolume class // ---------------------------------------------------------------------- /*! \file Volume.h BVolume interface declarations. */ #ifndef _VOLUME_H #define _VOLUME_H #include #include #include #include #include #ifdef USE_OPENBEOS_NAMESPACE namespace OpenBeOS { #endif class BDirectory; class BBitmap; class BVolume { public: BVolume(); BVolume(dev_t dev); BVolume(const BVolume &vol); virtual ~BVolume(); status_t InitCheck() const; status_t SetTo(dev_t dev); void Unset(); dev_t Device() const; status_t GetRootDirectory(BDirectory *directory) const; off_t Capacity() const; off_t FreeBytes() const; status_t GetName(char *name) const; status_t SetName(const char *name); status_t GetIcon(BBitmap *icon, icon_size which) const; bool IsRemovable() const; bool IsReadOnly() const; bool IsPersistent() const; bool IsShared() const; bool KnowsMime() const; bool KnowsAttr() const; bool KnowsQuery() const; bool operator==(const BVolume &volume) const; bool operator!=(const BVolume &volume) const; BVolume &operator=(const BVolume &volume); private: // friend class BVolumeRoster; virtual void _TurnUpTheVolume1(); virtual void _TurnUpTheVolume2(); virtual void _TurnUpTheVolume3(); virtual void _TurnUpTheVolume4(); virtual void _TurnUpTheVolume5(); virtual void _TurnUpTheVolume6(); virtual void _TurnUpTheVolume7(); virtual void _TurnUpTheVolume8(); dev_t fDevice; status_t fCStatus; int32 _reserved[8]; }; #ifdef USE_OPENBEOS_NAMESPACE } // namespace OpenBeOS #endif #endif // _VOLUME_H