<> <> <> <> DIRECTORY <> NSString USING [String], BansheeMessage USING [Key, totalKeys], RefText USING [Equal], XMessage USING [AllocateMessages, FreeMsgDomainsStorage, Get, Handle, Messages, MsgDomains, MsgEntry, MsgID, RegisterMessages]; BansheeMessageImpl: CEDAR PROGRAM IMPORTS RefText, XMessage EXPORTS RavenBansheeMessage = BEGIN sDomainName: REF TEXT = "Raven Banshee Engine Msgs"; MsgEntry: TYPE = RECORD [ key: RavenBansheeMessage.Key, msg: REF TEXT, id: XMessage.MsgID, translatable: BOOLEAN _ TRUE]; ravenBansheeEngineMsgs: XMessage.Handle _ NIL; RegisterMsgs: PROCEDURE = BEGIN allDomains: REF XMessage.MsgDomains; messageFileAvailable: BOOLEAN _ FALSE; <> <> < BEGIN messageFileAvailable _ FALSE; CONTINUE; END];>> IF messageFileAvailable THEN BEGIN FOR i: CARDINAL IN [0 .. allDomains.length) DO IF RefText.Equal[allDomains.data[i].applicationName, sDomainName] THEN { ravenBansheeEngineMsgs _ allDomains[i].handle; EXIT}; ENDLOOP; XMessage.FreeMsgDomainsStorage[allDomains]; END ELSE InitMessages[]; END; -- of RegisterMsgs InitMessages: PROCEDURE = BEGIN entries: ARRAY [0..RavenBansheeMessage.totalKeys) OF MsgEntry = [ <> [host, "<1>Host # <2>", 1], [printServiceName, "<1>Print Service <2>", 2], [softwareOf, "<1>Software of <2>", 3], [lastResetOn, "<1>Last Reset on <2>", 4], [feedsSinceLastReset, "<1><2> Total feeds (since last reset)", 5], <> [jamCountersTotalRate, "<1>++ Jam Counters ++ Total Rate *", 6], [rateTotalTotalFeeds, "* Rate = (Total/Total Feeds)*1000", 7], [statusCounters, "<1>++ Status Counters ++", 8], [commandCounters, "<1>++ Command Counters ++", 9], [plateStatusCounters, "<1>++ Plate Status Counters ++", 10], [statusExtrasCounters, "<1>++ Status Extras Counters ++", 11], <> [e3PreExitJam, "E3 - Pre Exit Jam:................................<1>.....<2>", 20], <> [solicitStatus, "<1>Solicit Status: <2>", 21], [solicitPaperSize, "<1>Solicit Paper Size: <2>", 22], [beep, "<1>Beep: <2>", 23], <> [readyToFeed, "<1>Ready To Feed: <2>", 24], [pageSync, "<1>Page Sync: <2>", 25], [pageAtOutputTray, "<1>Page At Output Tray: <2>", 26], [keyOffLine, "<1>Key Off Line: <2>", 27], [parityError, "<1>Parity Error: <2>", 28], [noStatus, "<1>No Status: <2>", 29], [statusError, "<1>Status Error: <2>", 30], [statusOverRun, "<1>Status Overrun: <2>", 31], [undefinedStatus, "<1>Undefined Status: <2>", 32], <> [bandOverrun, "<1>Band Overrun: <2>", 33], [pageSyncMiss, "<1>Page Sync Miss: <2>", 34], <> [imageFault1, "<1>Image Fault 1: <2>", 35], [imageFault2, "<1>Image Fault 2: <2>", 36], [imageFault3, "<1>Image Fault 3: <2>", 37], [sequenceFault, "<1>Sequence Fault: <2>", 38], [communicationFault, "<1>Command/Status Communication Fault: <2>", 39], <> [xerox804xTechRepLogOf, "<1>Xerox 8040 Tech Rep Log of <2>", 50], <> [c4BottomFeederFault, "C4 - Bottom Feeder Fault:.........................<1>.....<2>", 51], [c4TopFeederFault, "C4 - Top Feeder Fault:............................<1>.....<2>", 52], [e2PostRegistrationJam, "E2 - Post Registration Jam:.......................<1>.....<2>", 53], [e4OutputTrayFullB0B1PostExitJamB2, "E4 - Output Tray Full (B1) - Post Exit Jam (B2):..<1>.....<2>", 54], [f5OutputTrayFullB2, "F5 - Output Tray Full (B2):.......................<1>.....<2>", 55], <> [feedBottomAligned, "<1>Feed Bottom Aligned: <2>", 56], [feedBottomOffset, "<1>Feed Bottom Offset: <2>", 57], [feedTopAligned, "<1>Feed Top Aligned: <2>", 58], [feedTopOffset, "<1>Feed Top Offset: <2>", 59], [display, "<1>Display: <2>", 60], [dozeOff, "<1>Doze Off: <2>", 61], [wakeUp, "<1>Wake Up: <2>", 62], <> [warming, "<1>Warming: <2>", 63], [standBy, "<1>StandBy:<2>", 64], [feeding, "<1>Feeding: <2>", 65], [fuserCold, "<1>Fuser Cold: <2>", 66], [tonerLow, "<1>TonerLow: <2>", 67], [interlockOpen, "<1>Door Open: <2>", 68], [feedTraysNotEngaged, "<1>Feed Trays Not Engaged: <2>", 69], [displayAcknowledge, "<1>Display Acknowledge: <2>", 70], [aboutToDozeOff, "<1>About To Doze Off: <2>", 71], [paperSmallSmall, "<1>Paper Small Small: <2>", 72], [paperSmallLarge, "<1>Paper Small Large: <2>", 73], [paperLargeSmall, "<1>Paper Large Small: <2>", 74], [paperLargeLarge, "<1>Paper Large Large: <2>", 75], [key0to9, "<1>Key 0 to 9: <2>", 76], [keyClear, "<1>Key Clear: <2>", 77], [keyTest, "<1>Key Test: <2>", 78], [keyOnLine, "<1>Key On Line: <2>", 79], [onLine, "<1>On Line: <2>", 80], [goingOffLine, "<1>Going Off Line: <2>", 81], [offLine, "<1>Off Line: <2>", 82], [illegalCharacter, "<1>Illegal Character: <2>", 83], [illegalSequence, "<1>Illegal Sequence: <2>", 84], <> [xeroxBansheeTechRepLogOf, "<1>Xerox NS 8000 Laser CP Tech Rep Log of <2>", 100], [iotRevision, "<1>IOT Firmware Revision # <2>", 101], <<>> <> [e2PreregistrationJam, "E2 - Preregistration Jam:.........................<1>.....<2>", 102], [e4PostExitJam, "E4 - Post Exit Jam:...............................<1>.....<2>", 103], [c4noPaper, "C4 - No Paper:....................................<1>.....<2>", 104], <<>> <> [feed, "<1>Feed: <2>", 105], [enterLoopbackMode, "<1>Enter Loopback Mode: <2>", 106], <<>> <> [feedRejected, "<1>Feed Rejected: <2>", 107], [noToner, "<1>No Toner: <2>", 108], [clamShellOpen, "<1>Clam Shell Open: <2>", 109], [feedTrayNotEngaged, "<1>Feed Tray Not Engaged: <2>", 110], [diagnosticMode, "<1>Diagnostic Mode: <2>", 111], [callForService, "<1>Call For Service: <2>", 112], [copyMode, "<1>Copy Mode: <2>", 113], [paperLetter, "<1>Paper Letter: <2>", 114], [paperLegal, "<1>Paper Legal: <2>", 115], [paperA4, "<1>Paper A4: <2>", 116], [paper215X330, "<1>Paper 215X330: <2>", 117], [paperEnvelope10, "<1>Paper Envelope 10: <2>", 118], [paperEnvelopeRX, "<1>Paper Envelope RX: <2>", 119], [keyReset, "<1>Key Reset: <2>", 120], [keyLastPage, "<1>Key Last Page: <2>", 121], [diagnostic36, "<1>Diagnostic 36: <2>", 122], [diagnostic37, "<1>Diagnostic 37: <2>", 123], [diagnostic38, "<1>Diagnostic 38: <2>", 124], [diagnostic39, "<1>Diagnostic 39: <2>", 125], [diagnostic40, "<1>Diagnostic 40: <2>", 126], [diagnostic41, "<1>Diagnostic 41: <2>", 127], [diagnostic42, "<1>Diagnostic 42 Print Alignment Pattern: <2>", 128], [diagnostic43, "<1>Diagnostic 43 Print Tech Rep Log: <2>", 129], [diagnostic44, "<1>Diagnostic 44 Image Test: <2>", 130], [diagnostic45, "<1>Diagnostic 45: <2>", 131], [diagnostic46, "<1>Diagnostic 46: <2>", 132], [diagnostic47, "<1>Diagnostic 47 Loopback Test: <2>", 133], [stopDiagnostic, "<1>Stop Diagnostic: <2>", 134], [softReset, "<1>Soft Reset: <2>", 135], <> [exit, "Exit", 150], [commandStatusTurnaroundTest, "Command/Status Turnaround Test", 151], [imageTest, "Image Test", 152], [displayTechRepLog, "Display Tech Rep Log", 153], [printTechRepLog, "Print Tech Rep Log", 154], [resetTechRepLog, "Reset Tech Rep Log", 155], [selectFrom, "Select from...", 156], [installTurnaroundPlug, "Install Turnaround plug and type Y to continue", 157], [commandStatusTurnaroundTest2, "Command/Status Turnaround Test...", 158], [repeatTest, "Repeat test", 159], [pleaseConfirm, "Are you sure", 160], [working, "Working.", 161], [failing, "Failing!", 162], [removeTurnaroundPlug, "Remove Turnaround plug and type Y to continue", 163], [reconnectPrinter, "Reconnect Printer and type Y to continue", 164], [imageTest2, "Image Test...", 165], [imageTestFailingCode1, "Failing: Code # 1, VideoData: stuck, LineSync: N/A, VideoClock: N/A.", 166], [imageTestFailingCode2, "Failing: Code # 2, VideoData: stuck, LineSync: N/A, VideoClock: N/A.", 167], [imageTestFailingCode3, "Failing: Code # 3, VideoData: ok, LineSync: stuck low, VideoClock: ok.", 168], [imageTestFailingCode4, "Failing: Code # 4, VideoData: ok, LineSync: stuck low, VideoClock: stuck.", 169], [imageTestFailingCode5, "Failing: Code # 5, VideoData: ok, LineSync: stuck high, VideoClock: ok.", 170], [imageTestFailingCode6, "Failing: Code # 6, VideoData: ok, LineSync: stuck high, VideoClock: stuck.", 171], [imageTestFailingCode7, "Failing: Code # 7, VideoData: ok, LineSync: ok, VideoClock: stuck low.", 172], [imageTestFailingCode8, "Failing: Code # 8, VideoData: ok, LineSync: ok, VideoClock: stuck high.", 173], [imageTestAbortedTPProblem, "Aborted: Test Pattern file problem.", 174], [imageTestAbortedOther, "Aborted: Other error.", 175], [repairMode, "Repair Mode", 176]]; messages: REF XMessage.Messages _ NEW[XMessage.Messages[RavenBansheeMessage.totalKeys]]; FOR i: CARDINAL IN [0..RavenBansheeMessage.totalKeys) DO messages.data[i] _ [ msgKey: ORD[entries[i].key], msg: entries[i].msg, translationNote: NIL, translatable: entries[i].translatable, type: userMsg, id: entries[i].id]; ENDLOOP; ravenBansheeEngineMsgs _ XMessage.AllocateMessages[ applicationName: sDomainName, maxMessages: RavenBansheeMessage.totalKeys, clientData: NIL, proc: NIL]; XMessage.RegisterMessages[h: ravenBansheeEngineMsgs, messages: messages, stringBodiesAreReal: TRUE]; END; -- InitMessages GetNSMessage: PUBLIC PROCEDURE [key: RavenBansheeMessage.Key] RETURNS [nsString: NSString.String] = BEGIN nsString _ XMessage.Get[ravenBansheeEngineMsgs, ORD[key]]; END; -- GetNSMessage RegisterMsgs[]; END. -- RavenBansheeMessageImpl LOG When / Who / What 31-Jul-85 0:23:31 / Strickberger / Created for Euclid. 12-Aug-85 18:10:21 / Strickberger / Fix NIL pleaseConfirm message. 23-Aug-85 15:54:11 / Strickberger / Change wording and spacing on some messages. 19-Sep-85 11:20:44 / Strickberger / Change spacing on some messages. 29-Sep-85 16:25:53 / Strickberger / Fixed statusExtrasCounters message. 8-Oct-85 11:16:03 / Strickberger / Fixed 2 msgs with same ID - AR 21605. 18-Mar-86 12:33:16 / Strickberger / Shortened 80 char log messages to 75 char to allow use of PutAsyncMessage with PS client ID (AR3873).