@@ -255,17 +255,20 @@ class IppPrinter(
255
255
fun isStopped (updateStateAttributes : Boolean = false) = stateIs(updateStateAttributes, Stopped )
256
256
fun isProcessing (updateStateAttributes : Boolean = false) = stateIs(updateStateAttributes, Processing )
257
257
258
- fun isPaused () = stateReasons.contains(" paused" )
259
- fun isOffline () = stateReasons.contains(" offline-report" ) // reported by CUPS
260
- fun isTonerLow () = stateReasons.contains(" toner-low" )
261
- fun isTonerEmpty () = stateReasons.any { it.contains(" toner-empty" ) } // toner-empty-error
262
- fun isMediaJam () = stateReasons.contains(" media-jam" )
263
- fun isMediaLow () = stateReasons.contains(" media-low" )
264
- fun isMediaEmpty () = stateReasons.any { it.contains(" media-empty" ) } // media-empty-report
265
- fun isMediaNeeded () = stateReasons.contains(" media-needed" )
258
+ internal fun anyStateReasonContains (reason : String ) =
259
+ stateReasons.any { it.contains(reason) } // support "...-error" and "...-report" values
260
+
261
+ fun isPaused () = anyStateReasonContains(" paused" )
262
+ fun isOffline () = anyStateReasonContains(" offline" )
263
+ fun isTonerLow () = anyStateReasonContains(" toner-low" )
264
+ fun isTonerEmpty () = anyStateReasonContains(" toner-empty" )
265
+ fun isMediaJam () = anyStateReasonContains(" media-jam" )
266
+ fun isMediaLow () = anyStateReasonContains(" media-low" )
267
+ fun isMediaEmpty () = anyStateReasonContains(" media-empty" )
268
+ fun isMediaNeeded () = anyStateReasonContains(" media-needed" )
266
269
267
- fun isDuplexSupported () = sidesSupported.any { it.startsWith(" two-sided" ) }
268
270
fun supportsOperations (vararg operations : IppOperation ) = operationsSupported.containsAll(operations.toList())
271
+ fun isDuplexSupported () = sidesSupported.any { it.startsWith(" two-sided" ) }
269
272
fun supportsVersion (version : String ) = versionsSupported.contains(version)
270
273
fun isCups () = attributes.contains(" cups-version" )
271
274
0 commit comments