getPreviewExtendedData method
ProgressListener
getPreviewExtendedData(
- void onComplete(
- GemError error,
- SearchableParameterList? parameters
Asynchronously retrieve the preview extended data for this item.
The operation is asynchronous and delivers results via the provided callback.
Parameters
onComplete: Callback invoked with a GemError and a SearchableParameterList when available.
Parameters
onComplete: Function called when the operation is completed. The function is called with:- GemError.success for
errorand non-nullparameterson success. - GemError.invalidInput for
errorand nullparametersif no listener was provided. - GemError.couldNotStart for
errorand nullparametersif the request couldn't be started. - GemError.notSupported for
errorand nullparametersif called even though hasPreviewExtendedData returned false. - GemError.general for
errorand nullparametersin any other error case. - Other error codes for
errorand nullparametersif an error occurred.
- GemError.success for
Returns
- A ProgressListener that can be used to monitor or cancel the operation.
See also:
- hasPreviewExtendedData - Property to check if extended data is available for this item.
- cancelGetPreviewExtendedData - Method to cancel a running preview extended data request.
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.registerOnCompleteWithData((
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;
}