tomwalters@0
|
1 /*
|
tomwalters@0
|
2 fillable.h
|
tomwalters@0
|
3 ==========
|
tomwalters@0
|
4
|
tomwalters@0
|
5 fillable derived sources
|
tomwalters@0
|
6
|
tomwalters@0
|
7 */
|
tomwalters@0
|
8
|
tomwalters@0
|
9 #define SetFillableSource( _source , _filler, _name ) \
|
tomwalters@0
|
10 setFillableSource( &( _source )->parent, _filler, _name )
|
tomwalters@0
|
11 #define DeleteFillableSource( _source ) \
|
tomwalters@0
|
12 deleteFillableSource( &( _source )->parent )
|
tomwalters@0
|
13
|
tomwalters@0
|
14 /* derived Fillable sources */
|
tomwalters@0
|
15
|
tomwalters@0
|
16 #define NewRepeatingSource( _data , _segment ) \
|
tomwalters@0
|
17 newRepeatingSource( (Pointer) ( _data ), _segment )
|
tomwalters@0
|
18
|
tomwalters@0
|
19
|
tomwalters@0
|
20 #define NewSegmentingSource( _source, _block ) \
|
tomwalters@0
|
21 newSegmentingSource( _source, (ByteCount) ( _block ) )
|
tomwalters@0
|
22
|
tomwalters@0
|
23
|
tomwalters@0
|
24 #define NewCallbackSource( _filler, _state , _callback, _close, _name ) \
|
tomwalters@0
|
25 newCallbackSource( _filler, (Pointer) ( _state ), _callback, _close, _name )
|
tomwalters@0
|
26
|
tomwalters@0
|
27 #define NewExternalSource( _state , _callback, _close, _name ) \
|
tomwalters@0
|
28 newExternalSource( (Pointer) ( _state ), _callback, _close, _name )
|
tomwalters@0
|
29
|
tomwalters@0
|
30 #define NewThroughSource( _filler, _state , _callback, _close, _input, _name ) \
|
tomwalters@0
|
31 newThroughSource( _filler, (Pointer) ( _state ), _callback, _close, _input, _name )
|
tomwalters@0
|
32
|
tomwalters@0
|
33
|
tomwalters@0
|
34 #define NewProcessingSource( _state , _callback, _close, _input, _name ) \
|
tomwalters@0
|
35 newProcessingSource( (Pointer) ( _state ), _callback, _close, _input, _name )
|
tomwalters@0
|
36
|
tomwalters@0
|
37 #define NewSimpleProcessingSource( _callback, _input, _name ) \
|
tomwalters@0
|
38 newSimpleProcessingSource( _callback, _input, _name )
|
tomwalters@0
|
39
|
tomwalters@0
|
40
|
tomwalters@0
|
41 #define NewMultiplexedSource( _states , _callback, _close, _channels, _input, _name ) \
|
tomwalters@0
|
42 newMultiplexedSource( (Pointer *) ( _states ), _callback, _close, _channels, _input, _name )
|
tomwalters@0
|
43
|
tomwalters@0
|
44
|
tomwalters@0
|
45 #define NewMergingSource( _state , _callback, _close, _inputs, _name ) \
|
tomwalters@0
|
46 newMergingSource( (Pointer) ( _state ), _callback, _close, _inputs, _name )
|
tomwalters@0
|
47
|
tomwalters@0
|
48 #define SharingSource( _source1, _source2 ) \
|
tomwalters@0
|
49 sharingSource( _source1, _source2 )
|
tomwalters@0
|
50
|
tomwalters@0
|
51 /* derived higher level filling sources */
|
tomwalters@0
|
52
|
tomwalters@0
|
53 extern Source setFillableSource() ;
|
tomwalters@0
|
54 extern Pointer deleteFillableSource() ;
|
tomwalters@0
|
55
|
tomwalters@0
|
56 extern Source newSegmentingSource() ;
|
tomwalters@0
|
57
|
tomwalters@0
|
58 extern Source setCallbackSource() ;
|
tomwalters@0
|
59 extern Source newExternalSource() ;
|
tomwalters@0
|
60 extern Source newThroughSource() ;
|
tomwalters@0
|
61
|
tomwalters@0
|
62 extern Source newProcessingSource() ;
|
tomwalters@0
|
63 extern Source newSimpleProcessingSource() ;
|
tomwalters@0
|
64 extern Source newMultiplexedSource() ;
|
tomwalters@0
|
65 extern Source newMergingSource() ;
|
tomwalters@0
|
66
|
tomwalters@0
|
67 extern Source sharingSource() ;
|