Lines Matching refs:change

54 		virtual bool Merge(DataChange *change);
65 virtual bool Merge(DataChange *change);
184 DataChange::Merge(DataChange *change)
244 // don't change anything outside the supplied buffer
273 // don't change anything outside the supplied buffer
295 ReplaceChange *change = dynamic_cast<ReplaceChange *>(_change);
296 if (change == NULL)
299 if (change->fOffset + change->fSize == fOffset + fSize
300 && change->fSize == 1) {
301 // this is a special case - the new change changed the last byte of
302 // the old change: we do this since the same byte is changed twice
304 fNewData[fSize - 1] = change->fNewData[0];
316 if (change->fOffset + (off_t)change->fSize != fOffset
317 && fOffset + (off_t)fSize != change->fOffset)
322 uint8 *newData = fOffset < change->fOffset ? fNewData : change->fNewData;
323 size_t size = fSize + change->fSize;
328 uint8 *oldData = fOffset < change->fOffset ? fOldData : change->fOldData;
335 if (fOffset < change->fOffset) {
336 memcpy(newData + fSize, change->fNewData, change->fSize);
337 memcpy(oldData + fSize, change->fOldData, change->fSize);
339 memcpy(newData + change->fSize, fNewData, fSize);
340 memcpy(oldData + change->fSize, fOldData, fSize);
341 change->fNewData = fNewData;
342 change->fOldData = fOldData;
343 // transfer ownership, so that they will be deleted with the change
344 fOffset = change->fOffset;
546 DataEditor::AddChange(DataChange *change)
548 if (change == NULL)
555 change->Apply(fRealViewOffset, fView, fRealViewSize);
557 SendNotices(change);
561 if (fLastChange == NULL || !fLastChange->Merge(change)) {
562 fChanges.AddItem(change);
563 fLastChange = change;
566 delete change;
589 ReplaceChange *change = new ReplaceChange(offset, data, length);
590 AddChange(change);
605 // ToDo: this needs some changes to the whole change mechanism
620 // ToDo: this needs some changes to the whole change mechanism
642 DataChange *change = fChanges.ItemAt(i);
643 change->Apply(fRealViewOffset, fView, fRealViewSize);
651 DataChange *change = fChanges.ItemAt(i);
652 change->Revert(fRealViewOffset, fView, fRealViewSize);
696 DataChange *change = fChanges.ItemAt(i);
699 change->GetRange(FileSize(), offset, size);
727 // don't try to change the file size
757 * immediately before a change is applied.
759 * come after the current change.
768 DataChange *change = fChanges.RemoveItemAt(i);
769 delete change;
1209 DataEditor::SendNotices(DataChange *change)
1212 change->GetRange(FileSize(), offset, size);