listReaderGroups method

  1. @override
Tuple2<SCardResult, List<String>> listReaderGroups(
  1. int hContext
)
override

Implementation

@override
Tuple2<SCardResult, List<String>> listReaderGroups(int hContext) {
  final pcchGroups = calloc<DWORD>()..value = MAX_BUFFER_SIZE;
  final mszGroups = calloc<ffi.Char>(pcchGroups.value);

  try {
    var response = _winscard.SCardListReaderGroups(hContext, mszGroups, pcchGroups);
    var result = SCardResult(response);

    if( !result.isSuccess ) {
      return Tuple2(result, []);
    }

    var groupList = _convertNativeStringArray(mszGroups, pcchGroups.value);

    return Tuple2(result, groupList);
  }
  finally {
    calloc.free(mszGroups);
    calloc.free(pcchGroups);
  }
}