@@ -32,17 +32,15 @@ base class Callback<T extends Function> {
32
32
final int id;
33
33
final NativeCallable <T > nativeCallable;
34
34
final Completer <AskarCallbackResult > completer;
35
- final void Function () cleanupPointers;
36
35
37
- Callback (this .nativeCallable, this .completer, this .id, this .cleanupPointers );
36
+ Callback (this .nativeCallable, this .completer, this .id);
38
37
39
38
Future <AskarCallbackResult > handleResult (int initialResult) {
40
39
final initialErrorCode = ErrorCode .fromInt (initialResult);
41
40
42
41
if (initialErrorCode != ErrorCode .success) {
43
42
completer.complete (AskarCallbackResult (initialErrorCode, false , null ));
44
43
45
- this .cleanupPointers ();
46
44
this .nativeCallable.close ();
47
45
}
48
46
@@ -58,62 +56,58 @@ int nextCallbackId() {
58
56
59
57
typedef CbFuncWithHandle = Void Function (NativeCallbackId , Int32 , NativeSessionHandle );
60
58
61
- Callback <CbFuncWithHandle > newCallbackWithHandle (void Function () cleanup ) {
59
+ Callback <CbFuncWithHandle > newCallbackWithHandle () {
62
60
final completer = Completer <AskarCallbackResult >();
63
61
64
62
late final NativeCallable <CbFuncWithHandle > nativeCallable;
65
63
66
64
void callback (int callbackId, int errorCode, int handle) {
67
65
completer.complete (AskarCallbackResult (ErrorCode .fromInt (errorCode), true , handle));
68
- cleanup ();
69
66
nativeCallable.close ();
70
67
}
71
68
72
69
nativeCallable = NativeCallable <CbFuncWithHandle >.listener (callback);
73
70
74
- return Callback <CbFuncWithHandle >(nativeCallable, completer, nextCallbackId (), cleanup );
71
+ return Callback <CbFuncWithHandle >(nativeCallable, completer, nextCallbackId ());
75
72
}
76
73
77
74
typedef CbFuncWithInt64 = Void Function (NativeCallbackId , Int32 , Int64 );
78
75
79
- Callback <CbFuncWithInt64 > newCallbackWithInt64 (void Function () cleanup ) {
76
+ Callback <CbFuncWithInt64 > newCallbackWithInt64 () {
80
77
final completer = Completer <AskarCallbackResult >();
81
78
82
79
late final NativeCallable <CbFuncWithInt64 > nativeCallable;
83
80
84
81
void callback (int callbackId, int errorCode, int handle) {
85
82
completer.complete (AskarCallbackResult (ErrorCode .fromInt (errorCode), true , handle));
86
- cleanup ();
87
83
nativeCallable.close ();
88
84
}
89
85
90
86
nativeCallable = NativeCallable <CbFuncWithInt64 >.listener (callback);
91
87
92
- return Callback <CbFuncWithInt64 >(nativeCallable, completer, nextCallbackId (), cleanup );
88
+ return Callback <CbFuncWithInt64 >(nativeCallable, completer, nextCallbackId ());
93
89
}
94
90
95
91
typedef CbFuncWithoutHandle = Void Function (NativeCallbackId , Int32 );
96
92
97
- Callback <CbFuncWithoutHandle > newCallbackWithoutHandle (void Function () cleanup ) {
93
+ Callback <CbFuncWithoutHandle > newCallbackWithoutHandle () {
98
94
final completer = Completer <AskarCallbackResult >();
99
95
100
96
late final NativeCallable <CbFuncWithoutHandle > nativeCallable;
101
97
102
98
void callback (int callbackId, int errorCode) {
103
99
completer.complete (AskarCallbackResult (ErrorCode .fromInt (errorCode), true , null ));
104
- cleanup ();
105
100
nativeCallable.close ();
106
101
}
107
102
108
103
nativeCallable = NativeCallable <CbFuncWithoutHandle >.listener (callback);
109
104
110
- return Callback <CbFuncWithoutHandle >(
111
- nativeCallable, completer, nextCallbackId (), cleanup);
105
+ return Callback <CbFuncWithoutHandle >(nativeCallable, completer, nextCallbackId ());
112
106
}
113
107
114
108
typedef CbFuncWithPtrUft8 = Void Function (NativeCallbackId , Int32 , Pointer <Utf8 >);
115
109
116
- Callback <CbFuncWithPtrUft8 > newCallbackWithPtrUtf8 (void Function () cleanup ) {
110
+ Callback <CbFuncWithPtrUft8 > newCallbackWithPtrUtf8 () {
117
111
final completer = Completer <AskarCallbackResult >();
118
112
119
113
late final NativeCallable <CbFuncWithPtrUft8 > nativeCallable;
@@ -122,12 +116,10 @@ Callback<CbFuncWithPtrUft8> newCallbackWithPtrUtf8(void Function() cleanup) {
122
116
completer.complete (AskarCallbackResult (ErrorCode .fromInt (errorCode), true ,
123
117
utf8 == nullptr ? null : utf8.toDartString ()));
124
118
calloc.free (utf8);
125
- cleanup ();
126
119
nativeCallable.close ();
127
120
}
128
121
129
122
nativeCallable = NativeCallable <CbFuncWithPtrUft8 >.listener (callback);
130
123
131
- return Callback <CbFuncWithPtrUft8 >(
132
- nativeCallable, completer, nextCallbackId (), cleanup);
124
+ return Callback <CbFuncWithPtrUft8 >(nativeCallable, completer, nextCallbackId ());
133
125
}
0 commit comments