Skip to content

Commit ddcf1a1

Browse files
committed
anyStateReasonContains()
1 parent 27c4d93 commit ddcf1a1

File tree

2 files changed

+14
-9
lines changed

2 files changed

+14
-9
lines changed

src/main/kotlin/de/gmuth/ipp/client/IppPrinter.kt

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -255,17 +255,20 @@ class IppPrinter(
255255
fun isStopped(updateStateAttributes: Boolean = false) = stateIs(updateStateAttributes, Stopped)
256256
fun isProcessing(updateStateAttributes: Boolean = false) = stateIs(updateStateAttributes, Processing)
257257

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")
266269

267-
fun isDuplexSupported() = sidesSupported.any { it.startsWith("two-sided") }
268270
fun supportsOperations(vararg operations: IppOperation) = operationsSupported.containsAll(operations.toList())
271+
fun isDuplexSupported() = sidesSupported.any { it.startsWith("two-sided") }
269272
fun supportsVersion(version: String) = versionsSupported.contains(version)
270273
fun isCups() = attributes.contains("cups-version")
271274

src/test/kotlin/de/gmuth/ipp/client/IppPrinterTests.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import de.gmuth.ipp.attributes.TemplateAttributes.jobName
1515
import de.gmuth.ipp.attributes.TemplateAttributes.jobPriority
1616
import de.gmuth.ipp.attributes.TemplateAttributes.numberUp
1717
import de.gmuth.ipp.attributes.TemplateAttributes.orientationRequested
18+
import de.gmuth.ipp.attributes.TemplateAttributes.outputBin
1819
import de.gmuth.ipp.attributes.TemplateAttributes.pageRanges
1920
import de.gmuth.ipp.attributes.TemplateAttributes.printerResolution
2021
import de.gmuth.ipp.client.WhichJobs.Completed
@@ -118,6 +119,7 @@ class IppPrinterTests {
118119
jobPriority(30),
119120
copies(1),
120121
numberUp(1),
122+
outputBin("tray-2"),
121123
pageRanges(1..5),
122124
printerResolution(600),
123125
orientationRequested(Portrait),

0 commit comments

Comments
 (0)