Line data Source code
1 : /// Represents criteria for discovering Google Cast devices.
2 : abstract class GoogleCastDiscoveryCriteria {
3 : /// Initializes discovery criteria with the provided configuration.
4 0 : static GoogleCastDiscoveryCriteriaInitialize initialize(
5 : GoogleCastDiscoveryCriteriaInitialize initializeWith) =>
6 : initializeWith;
7 :
8 : /// this command is useful to native execute a custom command
9 :
10 : /// Default application ID for Cast devices.
11 : static const String kDefaultApplicationId = 'CC1AD845';
12 :
13 : /// Set of application IDs to discover.
14 : Set<String>? get applicationIds;
15 :
16 : /// Whether application IDs are set.
17 : bool? get hasApplicationIds;
18 :
19 : /// Set of namespaces to discover.
20 : Set<String>? get namespaces;
21 :
22 : /// Whether namespaces are set.
23 : bool? get hasNamespaces;
24 :
25 : /// Set of all subtypes.
26 : Set<String>? get allSubtypes;
27 : }
28 :
29 : /// Provides initialization options for Google Cast discovery criteria.
30 : class GoogleCastDiscoveryCriteriaInitialize {
31 : /// The data map containing discovery configuration.
32 : final Map<String, dynamic> data;
33 :
34 : /// Creates a new [GoogleCastDiscoveryCriteriaInitialize] with the given data.
35 0 : GoogleCastDiscoveryCriteriaInitialize._({
36 : required this.data,
37 : });
38 :
39 : /// Initializes with an application ID.
40 0 : factory GoogleCastDiscoveryCriteriaInitialize.initWithApplicationID(
41 : String applicationID) {
42 0 : return GoogleCastDiscoveryCriteriaInitialize._(
43 0 : data: <String, dynamic>{
44 : 'method': 'initWithApplicationID',
45 : 'applicationID': applicationID,
46 : },
47 : );
48 : }
49 :
50 : /// Initializes with a set of namespaces.
51 0 : factory GoogleCastDiscoveryCriteriaInitialize.initWithNamespaces(
52 : Set<String> namespaces) {
53 0 : return GoogleCastDiscoveryCriteriaInitialize._(
54 0 : data: <String, dynamic>{
55 : 'method': 'initWithNamespaces',
56 : 'namespaces': namespaces,
57 : },
58 : );
59 : }
60 :
61 : /// Converts the object to a map for serialization.
62 0 : Map<String, dynamic> toMap() => data;
63 : }
|