HexFiend: HFByteArrayEditScript.h Source File

HexFiend

HFByteArrayEditScript.h
Go to the documentation of this file.
1 //
2 // HFByteArrayEditScript.h
3 // HexFiend_2
4 //
5 // Copyright 2010 ridiculous_fish. All rights reserved.
6 //
7
8 #import <Cocoa/Cocoa.h>
9 #import <HexFiend/HFTYpes.h>
10
17 @class HFByteArray, HFProgressTracker;
18
24 struct HFEditInstruction_t {
26 HFRange src;
27
29 HFRange dst;
30 };
31
32 @interface HFByteArrayEditScript : NSObject {
33 HFByteArray *source;
34 HFByteArray *destination;
35
36 unsigned long long sourceLength;
37 unsigned long long destLength;
38
39 volatile const int *cancelRequested;
40 volatile int64_t *currentProgress;
41
42 int32_t concurrentProcesses;
43 dispatch_queue_t insnQueue;
44 struct HFEditInstruction_t *insns;
45 size_t insnCount, insnCapacity;
46 }
47
49 - (instancetype)initWithDifferenceFromSource:(HFByteArray *)src toDestination:(HFByteArray *)dst trackingProgress:(HFProgressTracker *)progressTracker;
50
52 - (void)applyToByteArray:(HFByteArray *)byteArray;
53
55 - (NSUInteger)numberOfInstructions;
56
58 - (struct HFEditInstruction_t)instructionAtIndex:(NSUInteger)index;
59
60 @end
HFByteArrayEditScript
A class that represents an sequence of instructions for editing an HFByteArray.
Definition: HFByteArrayEditScript.h:32
HFRange
HFRange is the 64 bit analog of NSRange, containing a 64 bit location and length. ...
Definition: HFTypes.h:2
HFEditInstruction_t
A struct that represents a single instruction in an HFByteArrayEditScript.
Definition: HFByteArrayEditScript.h:24
HFEditInstruction_t::dst
HFRange dst
Definition: HFByteArrayEditScript.h:29
HFProgressTracker
A class that helps handle progress indication and cancellation for long running threaded operations...
Definition: HFProgressTracker.h:29
HFByteArray
The principal Model class for HexFiend&#39;s MVC architecture.
Definition: HFByteArray.h:36
HFEditInstruction_t::src
HFRange src
Definition: HFByteArrayEditScript.h:26