public static string MessageName(OCRMessageType msgType) { string msgName = null; _ocrMsgTypeMap.TryGetValue(msgType, out msgName); return(msgName); }
public static OCRMessageType MessageType(string msgName) { OCRMessageType msgType = OCRMessageType.UNRECOGNIZED; return(_ocrMsgTypeMap.TryGetValue(msgName, out msgType) ? msgType : OCRMessageType.UNRECOGNIZED ); }
private void OCRMessageRespond(object messageObj, OCRMessageType msgType) { try { string msgName = OCRMessageUtils.MessageName(msgType); switch (msgType) { case OCRMessageType.OCR_MASTER: SendACK(((Messages.ocr_master.message)messageObj).body.guid); // Let event subscribers know we received and ACK'd an OCR_MASTER message. if (NotifyRxOCR_MASTER != null) NotifyRxOCR_MASTER(messageObj, msgName); break; case OCRMessageType.OCR_ULD: SendACK(((Messages.ocr_uld.message)messageObj).body.guid); // Let event subscribers know we received and ACK'd an OCR_ULD message. if (NotifyRxOCR_ULD != null) NotifyRxOCR_ULD(messageObj, msgName); break; case OCRMessageType.OCR_NEW_EVENT: SendACK(((Messages.ocr_new_event.message)messageObj).body.guid); // Let event subscribers know we received and ACK'd an OCR_NEW_EVENT message. if (NotifyRxOCR_NEW_EVENT != null) NotifyRxOCR_NEW_EVENT(messageObj, msgName); break; case OCRMessageType.REGISTER: Send(OCRMessageUtils.RegisteredMessage()); // Let event subscribers know we received and ACK'd a REGISTER message. if (NotifyRxREGISTER != null) NotifyRxREGISTER(messageObj, msgName); break; case OCRMessageType.UNREGISTER: Send(OCRMessageUtils.UnregisteredMessage()); // Let event subscribers know we received and ACK'd an UNREGISTER message. if (NotifyRxUNREGISTER != null) NotifyRxUNREGISTER(messageObj, msgName); Shutdown(); break; case OCRMessageType.PING: SendACK(((Messages.ocr_ping.message)messageObj).body.guid); // Let event subscribers know we received and ACK'd a PING message. if (NotifyRxPING != null) NotifyRxPING(messageObj, msgName); break; case OCRMessageType.ACK: // Received Ack Message, no response necessary // Let event subscribers know we received an ACK message. if (NotifyRxACK != null) NotifyRxACK(messageObj, msgName); break; case OCRMessageType.NACK: // Received Nack Message, no response necessary // Let event subscribers know we received an NACK message. if (NotifyRxNACK != null) NotifyRxNACK(messageObj, msgName); break; default: // If something is unrecognized or corrupt, // just ignore it per the ICD. break; } } catch (Exception) //XML parser and ProcessMasterMessage will throw in invalid message { // bury any exceptions } }
private void OCRMessageRespond(object messageObj, OCRMessageType msgType) { try { string msgName = OCRMessageUtils.MessageName(msgType); switch (msgType) { case OCRMessageType.OCR_MASTER: SendACK(((Messages.ocr_master.message)messageObj).body.guid); // Let event subscribers know we received and ACK'd an OCR_MASTER message. if (NotifyRxOCR_MASTER != null) { NotifyRxOCR_MASTER(messageObj, msgName); } break; case OCRMessageType.OCR_ULD: SendACK(((Messages.ocr_uld.message)messageObj).body.guid); // Let event subscribers know we received and ACK'd an OCR_ULD message. if (NotifyRxOCR_ULD != null) { NotifyRxOCR_ULD(messageObj, msgName); } break; case OCRMessageType.OCR_NEW_EVENT: SendACK(((Messages.ocr_new_event.message)messageObj).body.guid); // Let event subscribers know we received and ACK'd an OCR_NEW_EVENT message. if (NotifyRxOCR_NEW_EVENT != null) { NotifyRxOCR_NEW_EVENT(messageObj, msgName); } break; case OCRMessageType.REGISTER: Send(OCRMessageUtils.RegisteredMessage()); // Let event subscribers know we received and ACK'd a REGISTER message. if (NotifyRxREGISTER != null) { NotifyRxREGISTER(messageObj, msgName); } break; case OCRMessageType.UNREGISTER: Send(OCRMessageUtils.UnregisteredMessage()); // Let event subscribers know we received and ACK'd an UNREGISTER message. if (NotifyRxUNREGISTER != null) { NotifyRxUNREGISTER(messageObj, msgName); } Shutdown(); break; case OCRMessageType.PING: SendACK(((Messages.ocr_ping.message)messageObj).body.guid); // Let event subscribers know we received and ACK'd a PING message. if (NotifyRxPING != null) { NotifyRxPING(messageObj, msgName); } break; case OCRMessageType.ACK: // Received Ack Message, no response necessary // Let event subscribers know we received an ACK message. if (NotifyRxACK != null) { NotifyRxACK(messageObj, msgName); } break; case OCRMessageType.NACK: // Received Nack Message, no response necessary // Let event subscribers know we received an NACK message. if (NotifyRxNACK != null) { NotifyRxNACK(messageObj, msgName); } break; default: // If something is unrecognized or corrupt, // just ignore it per the ICD. break; } } catch (Exception) //XML parser and ProcessMasterMessage will throw in invalid message { // bury any exceptions } }
public void ProcessOCRMessage(string msgString) { string guidString = null; // Don't allow shutdown while still processing a message try { lock (this) { OCRMessageType messageType = OCRMessageUtils .GetMessageInfo(msgString, out guidString ); object ocrMessage = null; switch (messageType) { case OCRMessageType.OCR_MASTER: ocrMessage = new Messages.ocr_master.message(); break; case OCRMessageType.OCR_ULD: ocrMessage = new Messages.ocr_uld.message(); break; case OCRMessageType.OCR_NEW_EVENT: ocrMessage = new Messages.ocr_new_event.message(); break; case OCRMessageType.REGISTER: ocrMessage = new Messages.ocr_register.message(); break; case OCRMessageType.UNREGISTER: ocrMessage = new Messages.ocr_unregister.message(); break; case OCRMessageType.PING: ocrMessage = new Messages.ocr_ping.message(); break; case OCRMessageType.ACK: ocrMessage = new Messages.ocr_ack.message(); break; default: // If something is unrecognized or corrupt, // just ignore it per the ICD break; } OCRMessageRespond(DeserializeToTypedMessage(ocrMessage, msgString), messageType); } } catch (Exception) //XML parser and ProcessMasterMessage will throw in invalid message { // Per the ICD, if something is corrupt or unrecognized, // just NACK it. SendNACK(guidString); } }