00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef _VOLUME_H
00012 #define _VOLUME_H
00013
00014 #ifndef _BE_BUILD_H
00015 #include <BeBuild.h>
00016 #endif
00017 #include <sys/types.h>
00018
00019 #ifndef _MIME_H
00020 #include <Mime.h>
00021 #endif
00022 #ifndef _SUPPORT_DEFS_H
00023 #include <SupportDefs.h>
00024 #endif
00025
00026 class BDirectory;
00027 class BBitmap;
00028
00029 class BVolume {
00030 public:
00031 BVolume();
00032 BVolume(dev_t dev);
00033 BVolume(const BVolume &vol);
00034
00035 virtual ~BVolume();
00036
00037 status_t InitCheck() const;
00038
00039 status_t SetTo(dev_t dev);
00040 void Unset(void);
00041
00042 dev_t Device() const;
00043
00044 status_t GetRootDirectory(BDirectory *dir) const;
00045
00046 off_t Capacity() const;
00047 off_t FreeBytes() const;
00048
00049 status_t GetName(char *name) const;
00050 status_t SetName(const char *name);
00051
00052 status_t GetIcon(BBitmap *icon, icon_size which) const;
00053
00054 bool IsRemovable() const;
00055 bool IsReadOnly() const;
00056 bool IsPersistent() const;
00057 bool IsShared() const;
00058 bool KnowsMime() const;
00059 bool KnowsAttr() const;
00060 bool KnowsQuery() const;
00061
00062 bool operator==(const BVolume &vol) const;
00063 bool operator!=(const BVolume &vol) const;
00064 BVolume & operator=(const BVolume &vol);
00065
00066 private:
00067
00068 friend class BVolumeRoster;
00069
00070 virtual void _TurnUpTheVolume1();
00071 virtual void _TurnUpTheVolume2();
00072
00073 #if !_PR3_COMPATIBLE_
00074 virtual void _TurnUpTheVolume3();
00075 virtual void _TurnUpTheVolume4();
00076 virtual void _TurnUpTheVolume5();
00077 virtual void _TurnUpTheVolume6();
00078 virtual void _TurnUpTheVolume7();
00079 virtual void _TurnUpTheVolume8();
00080 #endif
00081
00082 dev_t fDev;
00083 status_t fCStatus;
00084
00085 #if !_PR3_COMPATIBLE_
00086 int32 _reserved[8];
00087 #endif
00088
00089 };
00090
00091
00092
00093 #endif