getPreviewExtendedData method

ProgressListener getPreviewExtendedData(
  1. void onComplete(
    1. GemError error,
    2. 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.

Returns

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;
}