1 // ---------------------------------------------------------------------- 2 // This software is part of the OpenBeOS distribution and is covered 3 // by the OpenBeOS license. 4 // 5 // File Name: VolumeRoster.h 6 // 7 // Description: BVolumeRoster class 8 // ---------------------------------------------------------------------- 9 /*! 10 \file VolumeRoster.h 11 BVolumeRoster interface declarations. 12 */ 13 #ifndef _VOLUME_ROSTER_H 14 #define _VOLUME_ROSTER_H 15 16 #include <Application.h> 17 #include <SupportDefs.h> 18 #include <Volume.h> 19 20 #ifdef USE_OPENBEOS_NAMESPACE 21 namespace OpenBeOS { 22 #endif 23 24 class BVolume; 25 class BMessenger; 26 27 class BVolumeRoster { 28 public: 29 BVolumeRoster(); 30 virtual ~BVolumeRoster(); 31 32 status_t GetNextVolume(BVolume *volume); 33 void Rewind(); 34 35 status_t GetBootVolume(BVolume *volume); 36 37 status_t StartWatching(BMessenger messenger = be_app_messenger); 38 void StopWatching(); 39 BMessenger Messenger() const; 40 41 private: 42 virtual void _SeveredVRoster1(); 43 virtual void _SeveredVRoster2(); 44 45 int32 fCookie; 46 BMessenger *fTarget; 47 uint32 _reserved[3]; 48 }; 49 50 #ifdef USE_OPENBEOS_NAMESPACE 51 } 52 #endif 53 54 #endif // _VOLUME_ROSTER_H 55