diff --git a/headers/private/storage/DiskDeviceRoster.h b/headers/private/storage/DiskDeviceRoster.h index 81ad2de5b9..087cb5a913 100644 --- a/headers/private/storage/DiskDeviceRoster.h +++ b/headers/private/storage/DiskDeviceRoster.h @@ -156,6 +156,7 @@ private: private: int32 fDeviceCookie; int32 fDiskSystemCookie; + int32 fJobCookie; // BDirectory *fPartitionAddOnDir; // BDirectory *fFSAddOnDir; // int32 fPartitionAddOnDirIndex; diff --git a/src/kits/storage/DiskDeviceRoster.cpp b/src/kits/storage/DiskDeviceRoster.cpp index c86b15f7f3..11fbca7896 100644 --- a/src/kits/storage/DiskDeviceRoster.cpp +++ b/src/kits/storage/DiskDeviceRoster.cpp @@ -3,15 +3,13 @@ // by the OpenBeOS license. //--------------------------------------------------------------------- -#include - #include #include #include +#include #include #include -//#include #include #include #include @@ -46,7 +44,8 @@ static const int32 kAddOnDirCount */ BDiskDeviceRoster::BDiskDeviceRoster() : fDeviceCookie(0), - fDiskSystemCookie(0) + fDiskSystemCookie(0), + fJobCookie(0) // fPartitionAddOnDir(NULL), // fFSAddOnDir(NULL), // fPartitionAddOnDirIndex(0), @@ -125,16 +124,21 @@ BDiskDeviceRoster::RewindDiskSystems() status_t BDiskDeviceRoster::GetNextActiveJob(BDiskDeviceJob *job) { - // not implemented - return B_ERROR; + if (!job) + return B_BAD_VALUE; + user_disk_device_job_info info; + status_t error = _kern_get_next_disk_device_job_info(&fJobCookie, &info); + if (error == B_OK) + error = job->_SetTo(&info); + return error; } // RewindActiveJobs status_t BDiskDeviceRoster::RewindActiveJobs() { - // not implemented - return B_ERROR; + fJobCookie = 0; + return B_OK; } // RegisterFileDevice