lock.dart 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. import 'dart:core';
  2. import 'package:fis_jsonrpc/client_base.dart';
  3. import 'package:fis_common/json_convert.dart';
  4. import 'lock.m.dart';
  5. class LockService extends JsonRpcClientBase {
  6. LockService(
  7. String host, {
  8. String serviceName = "ILockService",
  9. Map<String, String>? headers,
  10. int? timeout,
  11. }) : super(
  12. host,
  13. serviceName,
  14. headers: headers,
  15. timeout: timeout,
  16. ) {
  17. /// 注册响应实体反序列化处理器
  18. FJsonConvert.setDecoder((map) => ApplyLockResult.fromJson(map));
  19. FJsonConvert.setDecoder((map) => ReleaseLockResult.fromJson(map));
  20. }
  21. Future<ApplyLockResult> applyLockAsync(ApplyLockRequest request) async {
  22. var rpcRst = await call("ApplyLockAsync", request);
  23. var result = ApplyLockResult.fromJson(rpcRst as Map<String, dynamic>);
  24. return result;
  25. }
  26. Future<ReleaseLockResult> releaseLockAsync(ReleaseLockRequest request) async {
  27. var rpcRst = await call("ReleaseLockAsync", request);
  28. var result = ReleaseLockResult.fromJson(rpcRst as Map<String, dynamic>);
  29. return result;
  30. }
  31. }