package dev.stave.domain.model
/**
* A UPnP/DLNA MediaServer discovered on the LAN that advertises a ContentDirectory service.
* We key by [udn] (Unique Device Name) since that's stable across IP changes.
*/
data class MediaServer(
val udn: String,
val friendlyName: String,
val manufacturer: String?,
val modelName: String?,
val modelDescription: String?,
val baseUrl: String,
val iconUrl: String? = null,
) {
/** Best-effort label for known classical-friendly servers. */
val isMinimServer: Boolean
get() = modelName?.contains("MinimServer", ignoreCase = true) == true ||
manufacturer?.contains("minim", ignoreCase = true) == true
}