report static method
- int prepareId,
- int categId,
- String description,
- Uint8List snapshot,
- ImageFileFormat format,
- ParameterList params,
Report a social event.
Parameters
- IN prepareId Prepared report operation id ( returned by a call to prepareReporting )
- IN categId Report category id
- IN description Report description text
- IN snapshot Report snapshot image
- IN format Report snapshot image format
- IN params Report parameters. They must follow the structure returned by
SocialReportsOverlayCategory.parameters.find(PredefinedOverlayGenericParametersIds.keyVals)
Returns
- GemError.invalidInput - categId is not a valid social report category id / params are ill-formed / snapshot is an invalid image
- GemError.suspended - report rate limit exceeded
- GemError.expired - prepared report id not found or is expired ( too old )
- GemError.notFound - no accurate sense data source position to complete
- GemError.scheduled - operation will proceed later, when internet connection is available. Not an error
Throws
- An exception if it fails.
Implementation
static GemError report(
final int prepareId,
final int categId,
final String description,
final Uint8List snapshot,
final ImageFileFormat format,
final ParameterList params,
) {
final dynamic gemImage = GemKitPlatform.instance.createGemImage(
snapshot,
format.id,
);
try {
final EventDrivenProgressListener progListener =
EventDrivenProgressListener();
GemKitPlatform.instance.registerEventHandler(
progListener.id,
progListener,
);
final OperationResult result = staticMethod(
'SocialOverlay',
'report',
args: <String, dynamic>{
'prepareId': prepareId,
'categId': categId,
'description': description,
'snapshot': gemImage,
'params': params.pointerId,
'listener': progListener.id,
},
);
final int id = result['result'];
return GemErrorExtension.fromCode(id);
} finally {
GemKitPlatform.instance.deleteCPointer(gemImage);
}
}