Lines Matching refs:volume

39 	AbstractVolumeJob(Volume* volume)
41 fVolume(volume)
59 VolumeJob(Volume* volume, void (Root::*method)(Volume*))
61 AbstractVolumeJob(volume),
80 ProcessNodeMonitorEventsJob(Volume* volume, void (Root::*method)(Volume*))
82 VolumeJob(volume, method)
98 CommitTransactionJob(Root* root, Volume* volume, BMessage* message)
100 AbstractVolumeJob(volume),
127 VolumeJobFilter(Volume* volume)
129 fVolume(volume)
222 Root::RegisterVolume(Volume* volume)
226 Volume** volumeToSet = _GetVolume(volume->MountType());
231 ERROR("Root::RegisterVolume(): can't register volume at \"%s\", since "
232 "there's already volume at \"%s\" with the same type.\n",
233 volume->Path().String(), (*volumeToSet)->Path().String());
237 *volumeToSet = volume;
238 volume->SetRoot(this);
240 // queue a job for reading the volume's packages
242 new(std::nothrow) VolumeJob(volume, &Root::_InitPackages));
244 volume->SetRoot(NULL);
254 Root::UnregisterVolume(Volume* volume)
258 Volume** volumeToSet = _GetVolume(volume->MountType());
259 if (volumeToSet == NULL || *volumeToSet != volume) {
260 ERROR("Root::UnregisterVolume(): can't unregister unknown volume at "
261 "\"%s.\n", volume->Path().String());
267 // Use the job queue to delete the volume to make sure there aren't any
268 // pending jobs that reference the volume.
269 _QueueJob(new(std::nothrow) VolumeJob(volume, &Root::_DeleteVolume));
280 Volume* volume = volumes[i];
281 if (volume != NULL && volume->DeviceID() == deviceID)
282 return volume;
308 // get the location and the volume
318 Volume* volume = GetVolume((BPackageInstallationLocation)location);
319 if (volume == NULL)
324 volume->HandleGetLocationInfoRequest(message);
332 if (volume->IsPackageJobPending()) {
344 this, volume, message);
361 Root::VolumeNodeMonitorEventOccurred(Volume* volume)
363 _QueueJob(new(std::nothrow) ProcessNodeMonitorEventsJob(volume,
390 Root::_NextVolumeFor(Volume* volume)
392 if (volume == NULL)
395 PackageFSMountType mountType = volume->MountType();
408 volume = *_GetVolume(mountType);
409 } while (volume == NULL);
411 return volume;
416 Root::_InitPackages(Volume* volume)
418 if (volume->InitPackages(this) == B_OK) {
420 Volume* nextVolume = _NextVolumeFor(volume);
424 volume->InitialVerify(nextVolume, nextNextVolume);
430 Root::_DeleteVolume(Volume* volume)
432 // delete all pending jobs for that volume
433 VolumeJobFilter filter(volume);
436 delete volume;
441 Root::_ProcessNodeMonitorEvents(Volume* volume)
443 volume->ProcessPendingNodeMonitorEvents();
445 if (!volume->HasPendingPackageActivationChanges())
450 volume->ProcessPendingPackageActivationChanges();
458 PackageManager packageManager(this, volume);
477 volume->ClearPackageActivationChanges();
482 Root::_CommitTransaction(Volume* volume, BMessage* message)
484 volume->HandleCommitTransactionRequest(message);