1249259Sdim/* 2249259Sdim * Copyright 2002-2010, Haiku, Inc. All Rights Reserved. 3249259Sdim * Distributed under the terms of the MIT License. 4249259Sdim */ 5249259Sdim#ifndef _VOLUME_ROSTER_H 6249259Sdim#define _VOLUME_ROSTER_H 7249259Sdim 8249259Sdim 9249259Sdim#include <Application.h> 10249259Sdim#include <SupportDefs.h> 11249259Sdim#include <Volume.h> 12249259Sdim 13249259Sdim 14249259Sdimclass BVolume; 15249259Sdimclass BMessenger; 16249259Sdim 17249259Sdim 18249259Sdimclass BVolumeRoster { 19263508Sdimpublic: 20249259Sdim BVolumeRoster(); 21249259Sdim virtual ~BVolumeRoster(); 22249259Sdim 23249259Sdim status_t GetNextVolume(BVolume* volume); 24249259Sdim void Rewind(); 25249259Sdim 26249259Sdim status_t GetBootVolume(BVolume* volume); 27249259Sdim 28249259Sdim status_t StartWatching( 29249259Sdim BMessenger messenger = be_app_messenger); 30249259Sdim void StopWatching(); 31263508Sdim BMessenger Messenger() const; 32249259Sdim 33249259Sdimprivate: 34249259Sdim virtual void _SeveredVRoster1(); 35249259Sdim virtual void _SeveredVRoster2(); 36263508Sdim 37263508Sdimprivate: 38263508Sdim int32 fCookie; 39249259Sdim BMessenger* fTarget; 40249259Sdim uint32 _reserved[3]; 41263508Sdim}; 42263508Sdim 43263508Sdim 44263508Sdim#endif // _VOLUME_ROSTER_H 45263508Sdim