void BuffGetFreeSpaceTotal(struct pipe_desc *desc, int *piFreeSpaceTotal) { int dummy1, dummy2; *piFreeSpaceTotal = CalcFreeSpace(desc, &dummy1, &dummy2); __ASSERT_NO_MSG(dummy1 == desc->iFreeSpaceCont); __ASSERT_NO_MSG(dummy2 == desc->iFreeSpaceAWA); }
void BuffGetFreeSpace(struct pipe_desc *desc, int *piFreeSpaceTotal, int *piFreeSpaceCont, int *piFreeSpaceAWA) { int iFreeSpaceCont; int iFreeSpaceAWA; int iFreeSpaceTotal; iFreeSpaceTotal = CalcFreeSpace(desc, &iFreeSpaceCont, &iFreeSpaceAWA); __ASSERT_NO_MSG(iFreeSpaceCont == desc->iFreeSpaceCont); __ASSERT_NO_MSG(iFreeSpaceAWA == desc->iFreeSpaceAWA); *piFreeSpaceTotal = iFreeSpaceTotal; *piFreeSpaceCont = desc->iFreeSpaceCont; *piFreeSpaceAWA = desc->iFreeSpaceAWA; }
// SymLink handling: // symlink pose uses the resolved model to retrieve the icon, if not broken // everything else, like the attributes, etc. is retrieved directly from the // symlink itself BPose::BPose(Model* model, BPoseView* view, uint32 clipboardMode, bool selected) : fModel(model), fWidgetList(4, true), fClipboardMode(clipboardMode), fPercent(-1), fSelectionTime(0), fIsSelected(selected), fHasLocation(false), fNeedsSaveLocation(false), fListModeInited(false), fWasAutoPlaced(false), fBrokenSymLink(false), fBackgroundClean(false) { CreateWidgets(view); if (model->IsVolume()) { fs_info info; dev_t device = model->NodeRef()->device; BVolume* volume = new BVolume(device); if (volume->InitCheck() == B_OK && fs_stat_dev(device, &info) == B_OK) { // Philosophy here: // Bars go on all read/write volumes // Exceptions: Not on CDDA if (strcmp(info.fsh_name,"cdda") != 0 && !volume->IsReadOnly()) { // The volume is ok and we want space bars on it gPeriodicUpdatePoses.AddPose(this, view, _PeriodicUpdateCallback, volume); if (TrackerSettings().ShowVolumeSpaceBar()) fPercent = CalcFreeSpace(volume); } else delete volume; } else delete volume; } }
bool BPose::UpdateVolumeSpaceBar(BVolume* volume) { bool enabled = TrackerSettings().ShowVolumeSpaceBar(); if (!enabled) { if (fPercent == -1) return false; fPercent = -1; return true; } int32 percent = CalcFreeSpace(volume); if (fPercent != percent) { if (percent > 100) fPercent = 100; else fPercent = percent; return true; } return false; }