getPreviewExtendedData method
- void onComplete(
- GemError error,
- SearchableParameterList? parameters
Asynchronous get OverlayItem preview EXTENDED data (dynamic data that needs to be downloaded) as parameters list.
Parameters
- IN onComplete Will be invoked when the operation is completed, providing the results and an error code.
- Will call with error code GemError.success and non-null results on success
- Will call with error code GemError.invalidInput and null results if no listener was provided.
- Will call with error code GemError.couldNotStart and null results if the request couldn't be started
- Will call with error code GemError.notSupported and null results if called even though hasPreviewExtendedData returned false
- Will call with error code GemError.general and null results in any other error case
- Will call with other error codes and null results if an error occurred.
Returns
- The ProgressListener associated with the operation.
Throws
- An exception if it fails.
Implementation
ProgressListener getPreviewExtendedData(
final void Function(GemError error, SearchableParameterList? parameters)
onComplete,
) {
final EventDrivenProgressListener progListener =
EventDrivenProgressListener();
GemKitPlatform.instance.registerEventHandler(progListener.id, progListener);
final SearchableParameterList params = SearchableParameterList.create(0);
progListener.registerOnCompleteWithDataCallback((
final int err,
final String hint,
final Map<dynamic, dynamic> json,
) {
GemKitPlatform.instance.unregisterEventHandler(progListener.id);
if (err != 0) {
onComplete(GemErrorExtension.fromCode(err), null);
} else {
onComplete(GemErrorExtension.fromCode(err), params);
}
});
final OperationResult resultString = objectMethod(
_pointerId,
'OverlayItem',
'getPreviewExtendedData',
args: <String, dynamic>{
'list': params.pointerId,
'listener': progListener.id,
},
);
final int id = resultString['result'];
if (id != 0) {
onComplete(GemErrorExtension.fromCode(id), null);
}
return progListener;
}