Index: backend/snmp-supplies.c =================================================================== --- backend/snmp-supplies.c (revision 10326) +++ backend/snmp-supplies.c (working copy) @@ -36,14 +36,18 @@ #define CUPS_MAX_SUPPLIES 32 /* Maximum number of supplies for a printer */ #define CUPS_SUPPLY_TIMEOUT 2.0 /* Timeout for SNMP lookups */ -#define CUPS_DEVELOPER_LOW 1 -#define CUPS_DEVELOPER_EMPTY 2 -#define CUPS_MARKER_SUPPLY_LOW 4 -#define CUPS_MARKER_SUPPLY_EMPTY 8 -#define CUPS_OPC_NEAR_EOL 16 -#define CUPS_OPC_LIFE_OVER 32 -#define CUPS_TONER_LOW 64 -#define CUPS_TONER_EMPTY 128 +#define CUPS_DEVELOPER_LOW 0x0001 +#define CUPS_DEVELOPER_EMPTY 0x0002 +#define CUPS_MARKER_SUPPLY_LOW 0x0004 +#define CUPS_MARKER_SUPPLY_EMPTY 0x0008 +#define CUPS_OPC_NEAR_EOL 0x0010 +#define CUPS_OPC_LIFE_OVER 0x0020 +#define CUPS_TONER_LOW 0x0040 +#define CUPS_TONER_EMPTY 0x0080 +#define CUPS_WASTE_ALMOST_FULL 0x0100 +#define CUPS_WASTE_FULL 0x0200 +#define CUPS_CLEANER_NEAR_EOL 0x0400 /* Proposed JPS3 */ +#define CUPS_CLEANER_LIFE_OVER 0x0800 /* Proposed JPS3 */ /* @@ -173,7 +177,11 @@ { CUPS_OPC_NEAR_EOL, "opc-near-eol-report" }, { CUPS_OPC_LIFE_OVER, "opc-life-over-warning" }, { CUPS_TONER_LOW, "toner-low-report" }, - { CUPS_TONER_EMPTY, "toner-empty-warning" } + { CUPS_TONER_EMPTY, "toner-empty-warning" }, + { CUPS_WASTE_ALMOST_FULL, "waste-receptacle-almost-full-report" }, + { CUPS_WASTE_FULL, "waste-receptacle-full-warning" }, + { CUPS_CLEANER_NEAR_EOL, "cleaner-near-eol-report" }, + { CUPS_CLEANER_LIFE_OVER, "cleaner-life-over-warning" }, }; @@ -245,9 +253,6 @@ else new_supply_state |= CUPS_TONER_LOW; break; - case CUPS_TC_wasteToner : - case CUPS_TC_wasteInk : - break; case CUPS_TC_ink : case CUPS_TC_inkCartridge : case CUPS_TC_inkRibbon : @@ -273,6 +278,23 @@ else new_supply_state |= CUPS_OPC_NEAR_EOL; break; + case CUPS_TC_wasteInk : + case CUPS_TC_wastePaper : + case CUPS_TC_wasteToner : + case CUPS_TC_wasteWater : + case CUPS_TC_wasteWax : + if (percent <= 1) + new_supply_state |= CUPS_WASTE_FULL; + else + new_supply_state |= CUPS_WASTE_ALMOST_FULL; + break; + case CUPS_TC_cleanerUnit : + case CUPS_TC_fuserCleaningPad : + if (percent <= 1) + new_supply_state |= CUPS_CLEANER_LIFE_OVER; + else + new_supply_state |= CUPS_CLEANER_NEAR_EOL; + break; } }