Line data Source code
1 : /// Represents a Google Cast device discovered on the network.
2 : ///
3 : /// This class contains all the information about a Cast-capable device
4 : /// that has been discovered during the device discovery process.
5 : class GoogleCastDevice {
6 : /// Unique identifier for the device.
7 : final String deviceID;
8 :
9 : /// Human-readable name of the device (e.g., "Living Room TV").
10 : final String friendlyName;
11 :
12 : /// Model name of the device (e.g., "Chromecast", "Google Home").
13 : final String? modelName;
14 :
15 : /// Current status text displayed by the device.
16 : final String? statusText;
17 :
18 : /// Version information of the device firmware/software.
19 : final String deviceVersion;
20 :
21 : /// Whether the device is on the same local network.
22 : final bool isOnLocalNetwork;
23 :
24 : /// Category or type of the device.
25 : final String category;
26 :
27 : /// Globally unique identifier for the device.
28 : final String uniqueID;
29 :
30 : /// Creates a new Google Cast device instance.
31 : ///
32 : /// All parameters except [modelName] and [statusText] are required.
33 2 : GoogleCastDevice({
34 : required this.deviceID,
35 : required this.friendlyName,
36 : required this.modelName,
37 : required this.statusText,
38 : required this.deviceVersion,
39 : required this.isOnLocalNetwork,
40 : required this.category,
41 : required this.uniqueID,
42 : });
43 :
44 0 : @override
45 : bool operator ==(Object other) {
46 : if (identical(this, other)) return true;
47 :
48 0 : return other is GoogleCastDevice && other.deviceID == deviceID;
49 : }
50 :
51 0 : @override
52 : int get hashCode {
53 0 : return deviceID.hashCode;
54 : }
55 : }
|