haiku/headers/os/storage/VolumeRoster.h

55 lines
1.1 KiB
C++

// ----------------------------------------------------------------------
// This software is part of the OpenBeOS distribution and is covered
// by the OpenBeOS license.
//
// File Name: VolumeRoster.h
//
// Description: BVolumeRoster class
// ----------------------------------------------------------------------
/*!
\file VolumeRoster.h
BVolumeRoster interface declarations.
*/
#ifndef _VOLUME_ROSTER_H
#define _VOLUME_ROSTER_H
#include <Application.h>
#include <SupportDefs.h>
#include <Volume.h>
#ifdef USE_OPENBEOS_NAMESPACE
namespace OpenBeOS {
#endif
class BVolume;
class BMessenger;
class BVolumeRoster {
public:
BVolumeRoster();
virtual ~BVolumeRoster();
status_t GetNextVolume(BVolume *volume);
void Rewind();
status_t GetBootVolume(BVolume *volume);
status_t StartWatching(BMessenger messenger = be_app_messenger);
void StopWatching();
BMessenger Messenger() const;
private:
virtual void _SeveredVRoster1();
virtual void _SeveredVRoster2();
int32 fCookie;
BMessenger *fTarget;
uint32 _reserved[3];
};
#ifdef USE_OPENBEOS_NAMESPACE
}
#endif
#endif // _VOLUME_ROSTER_H