summaryrefslogtreecommitdiff
path: root/packages/cocoaint/src/foundation/NSOperation.inc
blob: 445332776d917aaba41564022da5cb10311acaed (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
{ Parsed from Foundation.framework NSOperation.h }
{ Version: 2.1.4 - Sun Jan 2 15:08:57 CET 2011 }


{$ifdef TYPES}
{$ifndef NSOPERATION_PAS_T}
{$define NSOPERATION_PAS_T}

{ Constants }

const
  NSOperationQueuePriorityVeryLow = -8;
  NSOperationQueuePriorityLow = -4;
  NSOperationQueuePriorityNormal = 0;
  NSOperationQueuePriorityHigh = 4;
  NSOperationQueuePriorityVeryHigh = 8;

const
  NSOperationQueueDefaultMaxConcurrentOperationCount = -1;

{ Types }
type
  NSOperationQueuePriority = NSInteger;
  NSOperationQueuePriorityPtr = ^NSOperationQueuePriority;

{$endif}
{$endif}

{$ifdef RECORDS}
{$ifndef NSOPERATION_PAS_R}
{$define NSOPERATION_PAS_R}

{$endif}
{$endif}

{$ifdef FUNCTIONS}
{$ifndef NSOPERATION_PAS_F}
{$define NSOPERATION_PAS_F}

{$endif}
{$endif}

{$ifdef EXTERNAL_SYMBOLS}
{$ifndef NSOPERATION_PAS_S}
{$define NSOPERATION_PAS_S}

{ External string constants }
var
  NSInvocationOperationVoidResultException: NSString; cvar; external;
  NSInvocationOperationCancelledException: NSString; cvar; external;

{$endif}
{$endif}

{$ifdef FORWARD}
  NSOperation = objcclass;
  NSOperationPointer = ^NSOperation;
  NSOperationPtr = NSOperationPointer;
  NSInvocationOperation = objcclass;
  NSInvocationOperationPointer = ^NSInvocationOperation;
  NSInvocationOperationPtr = NSInvocationOperationPointer;
  NSOperationQueue = objcclass;
  NSOperationQueuePointer = ^NSOperationQueue;
  NSOperationQueuePtr = NSOperationQueuePointer;

{$endif}

{$ifdef CLASSES}
{$ifndef NSOPERATION_PAS_C}
{$define NSOPERATION_PAS_C}

{ NSOperation }
  NSOperation = objcclass external (NSObject)
  private
    _private: id;
    _reserved: Pointer;
    
  public
    function init: id; message 'init';
    procedure start; message 'start';
    procedure main; message 'main';
    function isCancelled: Boolean; message 'isCancelled';
    procedure cancel; message 'cancel';
    function isExecuting: Boolean; message 'isExecuting';
    function isFinished: Boolean; message 'isFinished';
    function isConcurrent: Boolean; message 'isConcurrent';
    function isReady: Boolean; message 'isReady';
    procedure addDependency(op: NSOperation); message 'addDependency:';
    procedure removeDependency(op: NSOperation); message 'removeDependency:';
    function dependencies: NSArray; message 'dependencies';
    function queuePriority: NSOperationQueuePriority; message 'queuePriority';
    procedure setQueuePriority(p: NSOperationQueuePriority); message 'setQueuePriority:';
    procedure waitUntilFinished; message 'waitUntilFinished';
    function threadPriority: double; message 'threadPriority';
    procedure setThreadPriority(p: double); message 'setThreadPriority:';
  end;

{ NSInvocationOperation }
  NSInvocationOperation = objcclass external (NSOperation)
  private
    _inv: id;
    _exception: id;
    _reserved2: Pointer;
    
  public
    function initWithTarget_selector_object(target: id; sel_: SEL; arg: id): id; message 'initWithTarget:selector:object:';
    function initWithInvocation(inv: NSInvocation): id; message 'initWithInvocation:';
    function invocation: NSInvocation; message 'invocation';
    function result_: id; message 'result';
  end;

{ NSOperationQueue }
  NSOperationQueue = objcclass external (NSObject)
  private
    _private: id;
    _reserved: Pointer;
    
  public
    procedure addOperation(op: NSOperation); message 'addOperation:';
    procedure addOperations_waitUntilFinished(ops: NSArray; wait: Boolean); message 'addOperations:waitUntilFinished:';
    function operations: NSArray; message 'operations';
    function operationCount: NSUInteger; message 'operationCount';
    function maxConcurrentOperationCount: NSInteger; message 'maxConcurrentOperationCount';
    procedure setMaxConcurrentOperationCount(cnt: NSInteger); message 'setMaxConcurrentOperationCount:';
    procedure setSuspended(b: Boolean); message 'setSuspended:';
    function isSuspended: Boolean; message 'isSuspended';
    procedure setName(n: NSString); message 'setName:';
    function name: NSString; message 'name';
    procedure cancelAllOperations; message 'cancelAllOperations';
    procedure waitUntilAllOperationsAreFinished; message 'waitUntilAllOperationsAreFinished';
    class function currentQueue: id; message 'currentQueue';
    class function mainQueue: id; message 'mainQueue';
  end;

{$endif}
{$endif}