requestWikiImageInfo method
Get info on one Wikipedia image.
Parameters
- IN imageId The image index
- IN onComplete Callback to be called when the request is completed
- It will be called with GemError.success and the image info on success.
- It will be called with GemError.general error and null on invalid input
Returns
- ProgressListener for the operation progress if it could be started, null otherwise
Throws
- An exception if it fails
Implementation
ProgressListener? requestWikiImageInfo({
required int imageIndex,
required void Function(GemError error, String? imageInfo) onComplete,
}) {
final StringHolder result = StringHolder();
final EventDrivenProgressListener listener = EventDrivenProgressListener();
GemKitPlatform.instance.registerEventHandler(listener.id, listener);
listener.registerOnCompleteWithDataCallback((
final int err,
final String hint,
final Map<dynamic, dynamic> json,
) {
GemKitPlatform.instance.unregisterEventHandler(listener.id);
if (err == 0) {
onComplete(GemErrorExtension.fromCode(err), result.value);
} else {
onComplete(
GemErrorExtension.fromCode(err),
null,
);
}
result.dispose();
});
objectMethod(
_pointerId,
'ExternalInfo',
'requestWikiImageInfo',
args: <String, dynamic>{
'progressListener': listener.id,
'nImageIdx': imageIndex,
'strImageInfo': result.pointerId,
},
);
final GemError err = ApiErrorService.apiError;
if (err != GemError.success) {
GemKitPlatform.instance.unregisterEventHandler(listener.id);
onComplete(err, null);
return null;
}
return listener;
}