Line data Source code
1 : import 'package:flutter_chrome_cast/entities/request.dart';
2 :
3 : /// Represents a request specific to iOS for Google Cast operations.
4 : ///
5 : /// Extends [GoogleCastRequest] to include iOS-specific request handling.
6 : class GoogleCastIosRequest extends GoogleCastRequest {
7 : /// Creates a [GoogleCastIosRequest] instance.
8 : ///
9 : /// [inProgress] indicates if the request is currently in progress.
10 : /// [isExternal] specifies if the request is external.
11 : /// [requestID] is the unique identifier for the request.
12 : /// [error] is an optional error message if the request failed.
13 0 : GoogleCastIosRequest({
14 : required super.inProgress,
15 : required super.isExternal,
16 : required super.requestID,
17 : super.error,
18 : });
19 :
20 : /// Creates a [GoogleCastIosRequest] from a map, typically decoded from JSON.
21 : ///
22 : /// The [map] must contain the keys 'inProgress', 'isExternal', and 'requestID'.
23 : /// The 'error' key is optional.
24 0 : factory GoogleCastIosRequest.fromMap(Map<String, dynamic> map) {
25 0 : return GoogleCastIosRequest(
26 0 : inProgress: map['inProgress'] as bool,
27 0 : isExternal: map['isExternal'] as bool,
28 0 : requestID: map['requestID'] as int,
29 0 : error: map['error'] as String?,
30 : );
31 : }
32 : }
|