1/* 2 * Copyright 2002-2010, Haiku, Inc. All Rights Reserved. 3 * Distributed under the terms of the MIT License. 4 */ 5#ifndef _VOLUME_ROSTER_H 6#define _VOLUME_ROSTER_H 7 8 9#include <Application.h> 10#include <SupportDefs.h> 11#include <Volume.h> 12 13 14class BVolume; 15class BMessenger; 16 17 18class BVolumeRoster { 19public: 20 BVolumeRoster(); 21 virtual ~BVolumeRoster(); 22 23 status_t GetNextVolume(BVolume* volume); 24 void Rewind(); 25 26 status_t GetBootVolume(BVolume* volume); 27 28 status_t StartWatching( 29 BMessenger messenger = be_app_messenger); 30 void StopWatching(); 31 BMessenger Messenger() const; 32 33private: 34 virtual void _SeveredVRoster1(); 35 virtual void _SeveredVRoster2(); 36 37private: 38 int32 fCookie; 39 BMessenger* fTarget; 40 uint32 _reserved[3]; 41}; 42 43 44#endif // _VOLUME_ROSTER_H 45