BansheeMessageImpl.mesa
Copyright (C) 1985, 1986 by Xerox Corporation. All rights reserved.
Last edited by Strickberger: 18-Mar-86 12:33:16
Tim Diebert: October 28, 1986 3:13:56 pm PST
DIRECTORY
MsgOps USING [DomainsFromFile, Error],
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: BOOLEANTRUE];
ravenBansheeEngineMsgs: XMessage.Handle ← NIL;
RegisterMsgs: PROCEDURE = BEGIN
allDomains: REF XMessage.MsgDomains;
messageFileAvailable: BOOLEANFALSE;
allDomains ← MsgOps.DomainsFromFile[
file: "RavenBansheeEngine.messages", clientData: NIL, proc: NIL !
MsgOps.Error => 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 = [
common log intro
[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],
common headings
[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],
common jam counters
[e3PreExitJam,
"E3 - Pre Exit Jam:................................<1>.....<2>", 20],
common command counters
[solicitStatus, "<1>Solicit Status: <2>", 21],
[solicitPaperSize, "<1>Solicit Paper Size: <2>", 22],
[beep, "<1>Beep: <2>", 23],
common status counters
[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],
common plate status counters
[bandOverrun, "<1>Band Overrun: <2>", 33],
[pageSyncMiss, "<1>Page Sync Miss: <2>", 34],
common status extras counters
[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],
Raven log intro
[xerox804xTechRepLogOf, "<1>Xerox 8040 Tech Rep Log of <2>", 50],
Raven jam counters
[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],
Raven commands
[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],
Raven status counters
[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],
Banshee log intro
[xeroxBansheeTechRepLogOf, "<1>Xerox NS 8000 Laser CP Tech Rep Log of <2>", 100],
[iotRevision, "<1>IOT Firmware Revision # <2>", 101],
Banshee jam counters
[e2PreregistrationJam,
"E2 - Preregistration Jam:.........................<1>.....<2>", 102],
[e4PostExitJam,
"E4 - Post Exit Jam:...............................<1>.....<2>", 103],
[c4noPaper,
"C4 - No Paper:....................................<1>.....<2>", 104],
Banshee command counters
[feed, "<1>Feed: <2>", 105],
[enterLoopbackMode, "<1>Enter Loopback Mode: <2>", 106],
Banshee status counters
[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],
UI messages
[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).