@@ -102,28 +102,27 @@ bool NotifyDart(Dart_Port send_port, const Work *work)
102
102
103
103
extern " C" JNIEXPORT jobject JNICALL Java_com_dartnative_dart_1native_CallbackInvocationHandler_hookCallback (JNIEnv *env,
104
104
jclass clazz,
105
- jlong dartObject ,
106
- jstring fun_name ,
107
- jint arg_count ,
108
- jobjectArray arg_types ,
109
- jobjectArray args ,
110
- jstring return_type )
105
+ jlong dartObjectAddress ,
106
+ jstring functionName ,
107
+ jint argumentCount ,
108
+ jobjectArray argumentTypes ,
109
+ jobjectArray argumentsArray ,
110
+ jstring returnTypeStr )
111
111
{
112
- Dart_Port port = getCallbackDartPort (dartObject );
112
+ Dart_Port port = getCallbackDartPort (dartObjectAddress );
113
113
if (port == 0 )
114
114
{
115
115
DNDebug (" not register dart port!" );
116
- return NULL ;
116
+ return nullptr ;
117
117
}
118
118
119
- char *funName = (char *)env->GetStringUTFChars (fun_name, 0 );
120
- jsize argTypeLength = env->GetArrayLength (arg_types);
121
- char **argTypes = new char *[argTypeLength + 1 ];
122
- void **arguments = new void *[argTypeLength];
123
- for (int i = 0 ; i < argTypeLength; ++i)
119
+ char *funName = (char *)env->GetStringUTFChars (functionName, 0 );
120
+ char **argTypes = new char *[argumentCount + 1 ];
121
+ void **arguments = new void *[argumentCount];
122
+ for (int i = 0 ; i < argumentCount; ++i)
124
123
{
125
- jstring argTypeString = (jstring)env->GetObjectArrayElement (arg_types , i);
126
- jobject argument = env->GetObjectArrayElement (args , i);
124
+ jstring argTypeString = (jstring)env->GetObjectArrayElement (argumentTypes , i);
125
+ jobject argument = env->GetObjectArrayElement (argumentsArray , i);
127
126
128
127
argTypes[i] = (char *)env->GetStringUTFChars (argTypeString, 0 );
129
128
env->DeleteLocalRef (argTypeString);
@@ -173,20 +172,20 @@ extern "C" JNIEXPORT jobject JNICALL Java_com_dartnative_dart_1native_CallbackIn
173
172
}
174
173
175
174
// / when return void, jstring which from native is null.
176
- char *returnType = return_type == nullptr ? nullptr
177
- : (char *)env->GetStringUTFChars (return_type , 0 );
175
+ char *returnType = returnTypeStr == nullptr ? nullptr
176
+ : (char *)env->GetStringUTFChars (returnTypeStr , 0 );
178
177
179
- argTypes[argTypeLength ] = returnType;
178
+ argTypes[argumentCount ] = returnType;
180
179
181
180
sem_t sem;
182
181
bool isSemInitSuccess = sem_init (&sem, 0 , 0 ) == 0 ;
183
182
184
- const Work work = [dartObject , argTypes, arguments, arg_count , funName, &sem, isSemInitSuccess]() {
185
- NativeMethodCallback methodCallback = getCallbackMethod (dartObject , funName);
186
- void *target = getDartObject (dartObject );
187
- if (methodCallback != NULL && target != nullptr )
183
+ const Work work = [dartObjectAddress , argTypes, arguments, argumentCount , funName, &sem, isSemInitSuccess]() {
184
+ NativeMethodCallback methodCallback = getCallbackMethod (dartObjectAddress , funName);
185
+ void *target = getDartObject (dartObjectAddress );
186
+ if (methodCallback != nullptr && target != nullptr )
188
187
{
189
- methodCallback (target, funName, arguments, argTypes, arg_count );
188
+ methodCallback (target, funName, arguments, argTypes, argumentCount );
190
189
}
191
190
if (isSemInitSuccess)
192
191
{
@@ -195,9 +194,10 @@ extern "C" JNIEXPORT jobject JNICALL Java_com_dartnative_dart_1native_CallbackIn
195
194
};
196
195
197
196
const Work *work_ptr = new Work (work);
197
+ // / error
198
198
bool notifyResult = NotifyDart (port, work_ptr);
199
199
200
- jobject callbackResult = NULL ;
200
+ jobject callbackResult = nullptr ;
201
201
if (isSemInitSuccess)
202
202
{
203
203
DNDebug (" wait work execute" );
0 commit comments