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 
18 
27 
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
A class that represents an sequence of instructions for editing an HFByteArray.
Definition: HFByteArrayEditScript.h:32
HFRange is the 64 bit analog of NSRange, containing a 64 bit location and length. ...
Definition: HFTypes.h:2
A struct that represents a single instruction in an HFByteArrayEditScript.
Definition: HFByteArrayEditScript.h:24
HFRange dst
Definition: HFByteArrayEditScript.h:29
A class that helps handle progress indication and cancellation for long running threaded operations...
Definition: HFProgressTracker.h:29
The principal Model class for HexFiend&#39;s MVC architecture.
Definition: HFByteArray.h:36
HFRange src
Definition: HFByteArrayEditScript.h:26