haiku/headers/private/kernel/disk_device_manager/KDiskDeviceJobQueue.h
Ingo Weinhold 4c212afefb Headers for the disk device manager. Very early state.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3454 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-09 23:04:54 +00:00

40 lines
816 B
C++

// KDiskDeviceJobQueue.h
#ifndef _K_DISK_DEVICE_JOB_QUEUE_H
#define _K_DISK_DEVICE_JOB_QUEUE_H
#include "disk_device_manager.h"
namespace BPrivate {
namespace DiskDevice {
class KDiskDevice;
class KDiskDeviceJob;
class KDiskDeviceJobQueue {
public:
KDiskDeviceJobQueue();
~KDiskDeviceJobQueue();
void SetDevice(KDiskDevice *device);
KDiskDevice *Device() const;
KDiskDeviceJob *ActiveJob() const; // is not in list of scheduled jobs
// list of scheduled jobs
bool AddJob(KDiskDeviceJob *job);
KDiskDeviceJob *RemoveJob(int32 index);
bool RemoveJob(KDiskDeviceJob *job);
KDiskDeviceJob *JobAt(int32 index) const;
int32 CountJobs() const;
void Execute();
};
} // namespace DiskDevice
} // namespace BPrivate
using BPrivate::DiskDevice::KDiskDeviceJobQueue;
#endif // _K_DISK_DEVICE_JOB_QUEUE_H