public MotoScanner() { m_xml = new XmlReader(); m_nTotalScanners = 0; m_arScanners = new Scanner[MAX_NUM_DEVICES]; for (int i = 0; i < MAX_NUM_DEVICES; i++) { Scanner scanr = new Scanner(); m_arScanners.SetValue(scanr, i); } }
public bool ChangePerform(Scanner scanner, string strHostMode, bool silentSwitch, bool permChange) { if ("USB-IBMHID" == strHostMode) { strHostMode = "XUA-45001-1"; } else if ("USB-IBMTT" == strHostMode) { strHostMode = "XUA-45001-2"; } else if ("USB-HIDKB" == strHostMode) { strHostMode = "XUA-45001-3"; } else if ("USB-OPOS" == strHostMode) { strHostMode = "XUA-45001-8"; } else if ("USB-SNAPI with Imaging" == strHostMode) { strHostMode = "XUA-45001-9"; } else if ("USB-SNAPI without Imaging" == strHostMode) { strHostMode = "XUA-45001-10"; } else if ("USB-CDC Serial Emulation" == strHostMode) { strHostMode = "XUA-45001-11"; } string strSilentSwitch = silentSwitch ? "TRUE" : "FALSE"; string strPermChange = permChange ? "TRUE" : "FALSE"; string inXml = "<inArgs>" + GetOnlyScannerIDXml(scanner) + "<cmdArgs>" + "<arg-string>" + strHostMode + "</arg-string>" + "<arg-bool>" + strSilentSwitch + "</arg-bool>" + "<arg-bool>" + strPermChange + "</arg-bool>" + "</cmdArgs>" + "</inArgs>"; int opCode = DEVICE_SWITCH_HOST_MODE; string outXml = ""; int status = STATUS_FALSE; ExecCmd(opCode, ref inXml, out outXml, out status); DisplayResult(status, "DEVICE_SWITCH_HOST_MODE"); return status == STATUS_SUCCESS; }
private string GetOnlyScannerIDXml(Scanner scanner) { string strInXml = "<scannerID>" + scanner.SCANNERID + "</scannerID>"; return strInXml; }
/* public void ReadXmlString_AttachDetachSingle(string strXml, out Scanner scanr, out string sStatus) { scanr = null; sStatus = ""; string sPnp = ""; if ("" == strXml || null == strXml) return; try { XmlTextReader xmlRead = new XmlTextReader(new StringReader(strXml)); // Skip non-significant whitespace xmlRead.WhitespaceHandling = WhitespaceHandling.Significant; string sElementName = "", sElmValue = ""; bool bScanner = false; int nScannerCount = 0;//for multiple scanners as in cradle+cascaded while (xmlRead.Read()) { switch (xmlRead.NodeType) { case XmlNodeType.Element: sElementName = xmlRead.Name; if (Scanner.TAG_SCANNER_ID == sElementName) { nScannerCount++; scanr = new Scanner(); bScanner = true; } break; case XmlNodeType.Text: if (bScanner && (null != scanr)) { sElmValue = xmlRead.Value; switch (sElementName) { case Scanner.TAG_SCANNER_ID: scanr.SCANNERID = sElmValue; break; case Scanner.TAG_SCANNER_SERIALNUMBER: scanr.SERIALNO = sElmValue; break; case Scanner.TAG_SCANNER_MODELNUMBER: scanr.MODELNO = sElmValue; break; case Scanner.TAG_SCANNER_GUID: scanr.GUID = sElmValue; break; case Scanner.TAG_SCANNER_TYPE: scanr.SCANNERTYPE = sElmValue; break; case Scanner.TAG_STATUS: sStatus = sElmValue; break; case TAG_PNP: sPnp = sElmValue; break; case Scanner.TAG_SCANNER_FW: scanr.SCANNERFIRMWARE = sElmValue; break; case Scanner.TAG_SCANNER_DOM: scanr.SCANNERMNFDATE = sElmValue; break; } } break; } } } catch (Exception ex) { MessageBox.Show(ex.ToString()); } } */ public void ReadXmlString_AttachDetachMulti(string strXml, out Scanner[] arScanr, out string sStatus) { arScanr = new Scanner[8]; for (int index = 0; index < 5; index++) { arScanr.SetValue(null, index); } sStatus = ""; if (String.IsNullOrEmpty(strXml)) { return; } try { XmlTextReader xmlRead = new XmlTextReader(new StringReader(strXml)); // Skip non-significant whitespace xmlRead.WhitespaceHandling = WhitespaceHandling.Significant; string sElementName = "", sElmValue = ""; bool bScanner = false; int nScannerCount = 0;//for multiple scanners as in cradle+cascaded int nIndex = 0; while (xmlRead.Read()) { switch (xmlRead.NodeType) { case XmlNodeType.Element: sElementName = xmlRead.Name; string strScannerType = xmlRead.GetAttribute(Scanner.TAG_SCANNER_TYPE); if (xmlRead.HasAttributes && ( (Scanner.TAG_SCANNER_SNAPI == strScannerType) || (Scanner.TAG_SCANNER_SSI == strScannerType) || (Scanner.TAG_SCANNER_IBMHID == strScannerType) || (Scanner.TAG_SCANNER_IMBTT == strScannerType) || (Scanner.TAG_SCALE_IBM == strScannerType) || (Scanner.TAG_SCANNER_HIDKB == strScannerType)))//n = xmlRead.AttributeCount; { nIndex = nScannerCount; arScanr.SetValue(new Scanner(), nIndex); nScannerCount++; arScanr[nIndex].SCANNERTYPE = strScannerType; } if ((null != arScanr[nIndex]) && Scanner.TAG_SCANNER_ID == sElementName) { bScanner = true; } break; case XmlNodeType.Text: if (bScanner && (null != arScanr[nIndex])) { sElmValue = xmlRead.Value; switch (sElementName) { case Scanner.TAG_SCANNER_ID: arScanr[nIndex].SCANNERID = sElmValue; break; case Scanner.TAG_SCANNER_SERIALNUMBER: arScanr[nIndex].SERIALNO = sElmValue; break; case Scanner.TAG_SCANNER_MODELNUMBER: arScanr[nIndex].MODELNO = sElmValue; break; case Scanner.TAG_SCANNER_GUID: arScanr[nIndex].GUID = sElmValue; break; case Scanner.TAG_SCANNER_TYPE: arScanr[nIndex].SCANNERTYPE = sElmValue; break; case Scanner.TAG_SCANNER_FW: arScanr[nIndex].SCANNERFIRMWARE = sElmValue; break; case Scanner.TAG_SCANNER_DOM: arScanr[nIndex].SCANNERMNFDATE = sElmValue; break; case Scanner.TAG_STATUS: sStatus = sElmValue; break; case TAG_PNP: if ("0" == sElmValue) { arScanr[nIndex] = null; nScannerCount--; } break; } } break; } } } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }
public void clear_scanner_attributes(Scanner scanr) { try { int length = scanr.m_arAttributes.Length / 5; for (int index = 0; index < length; index++) { scanr.m_arAttributes.SetValue(null, index, Scanner.POS_ATTR_NAME); scanr.m_arAttributes.SetValue(null, index, Scanner.POS_ATTR_ID); scanr.m_arAttributes.SetValue(null, index, Scanner.POS_ATTR_TYPE); scanr.m_arAttributes.SetValue(null, index, Scanner.POS_ATTR_PROPERTY); scanr.m_arAttributes.SetValue(null, index, Scanner.POS_ATTR_VALUE); } } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }
private void GetAttributePos(string strNumber, Scanner scanr, out int nIndex) { nIndex = -1; for (int index = 0; index < Scanner.MAX_ATTRIBUTE_COUNT; index++) { string strInNumber = scanr.m_arAttributes.GetValue(index, Scanner.POS_ATTR_ID).ToString(); if (strNumber == strInNumber) { nIndex = index; break; } } }
public void ReadXmlString_RsmAttrGet(string strXml, Scanner[] arScanner, out Scanner scanr, out int nIndex, out int nAttrCount, out int nOpCode) { nIndex = -1; nAttrCount = 0; scanr = null; nOpCode = -1; if (String.IsNullOrEmpty(strXml)) { return; } try { XmlTextReader xmlRead = new XmlTextReader(new StringReader(strXml)); // Skip non-significant whitespace xmlRead.WhitespaceHandling = WhitespaceHandling.Significant; string sElementName = "", sElmValue = ""; bool bValid = false, bFirst = false; while (xmlRead.Read()) { switch (xmlRead.NodeType) { case XmlNodeType.Element: sElementName = xmlRead.Name; if (Scanner.TAG_SCANNER_ID == sElementName) { bValid = true; bFirst = true; } // for old att_getall.xml ....since name is not used(user can refer data-dictionary) else if (bValid && Scanner.TAG_ATTRIBUTE == sElementName && xmlRead.HasAttributes && (1 == xmlRead.AttributeCount)) { sElmValue = xmlRead.GetAttribute("name"); if (null != scanr) { scanr.m_arAttributes.SetValue(sElmValue, nAttrCount, Scanner.POS_ATTR_NAME); } } break; case XmlNodeType.Text: if (bValid) { sElmValue = xmlRead.Value; if (bFirst && Scanner.TAG_SCANNER_ID == sElementName) { bFirst = false; foreach (Scanner scanrTmp in arScanner) { if ((null != scanrTmp) && (sElmValue == scanrTmp.SCANNERID)) { scanr = scanrTmp; break; } } } else if (null != scanr) { switch (sElementName) { case Scanner.TAG_OPCODE: nOpCode = Int32.Parse(sElmValue); if (!(MotoScanner.RSM_ATTR_GET == nOpCode)) { return; } break; case Scanner.TAG_ATTRIBUTE: if (MotoScanner.RSM_ATTR_GETALL == nOpCode) { //scanr.m_arAttributes.SetValue(sElmValue, nAttrCount, Scanner.POS_ATTR_ID); //scanr.rsmAttribute.ID = sElmValue; nAttrCount++; } break; case Scanner.TAG_ATTR_ID: nIndex = -1; //GetAttributePos(sElmValue, scanr, out nIndex); scanr.m_rsmAttribute.ID = sElmValue; break; case Scanner.TAG_ATTR_NAME: //if (-1 != nIndex) //{ // scanr.m_arAttributes.SetValue(sElmValue, nIndex, Scanner.POS_ATTR_NAME); //} scanr.m_rsmAttribute.name = sElmValue; break; case Scanner.TAG_ATTR_TYPE: //if (-1 != nIndex) //{ // scanr.m_arAttributes.SetValue(sElmValue, nIndex, Scanner.POS_ATTR_TYPE); //} scanr.m_rsmAttribute.Type = sElmValue; break; case Scanner.TAG_ATTR_PROPERTY: // if (-1 != nIndex) // { // scanr.m_arAttributes.SetValue(sElmValue, nIndex, Scanner.POS_ATTR_PROPERTY); // } scanr.m_rsmAttribute.property = sElmValue; break; case Scanner.TAG_ATTR_VALUE: //if (-1 != nIndex) //{ // scanr.m_arAttributes.SetValue(sElmValue, nIndex, Scanner.POS_ATTR_VALUE); //} scanr.m_rsmAttribute.value = sElmValue; break; } } } break; } } } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }
public void ReadXmlString_GetScanners(string strXml, Scanner[] arScanner, int nTotal, out int nScannerCount) { nScannerCount = 0; if (1 > nTotal || String.IsNullOrEmpty(strXml)) { return; } try { XmlTextReader xmlRead = new XmlTextReader(new StringReader(strXml)); // Skip non-significant whitespace xmlRead.WhitespaceHandling = WhitespaceHandling.Significant; string sElementName = "", sElmValue = ""; Scanner scanr = null; int nIndex = 0; bool bScanner = false; while (xmlRead.Read()) { switch (xmlRead.NodeType) { case XmlNodeType.Element: sElementName = xmlRead.Name; if (Scanner.TAG_SCANNER == sElementName) { bScanner = false; } string strScannerType = xmlRead.GetAttribute(Scanner.TAG_SCANNER_TYPE); if (xmlRead.HasAttributes && ( (Scanner.TAG_SCANNER_SNAPI == strScannerType) || (Scanner.TAG_SCANNER_SSI == strScannerType) || (Scanner.TAG_SCANNER_NIXMODB == strScannerType) || (Scanner.TAG_SCANNER_IBMHID == strScannerType) || (Scanner.TAG_SCANNER_IMBTT == strScannerType) || (Scanner.TAG_SCALE_IBM == strScannerType) || (Scanner.TAG_SCANNER_HIDKB == strScannerType)))//n = xmlRead.AttributeCount; { if (arScanner.GetLength(0) > nIndex) { bScanner = true; scanr = (Scanner)arScanner.GetValue(nIndex++); if (null != scanr) { scanr.ClearValues(); nScannerCount++; scanr.SCANNERTYPE = strScannerType; } } } break; case XmlNodeType.Text: if (bScanner && (null != scanr)) { sElmValue = xmlRead.Value; switch (sElementName) { case Scanner.TAG_SCANNER_ID: scanr.SCANNERID = sElmValue; break; case Scanner.TAG_SCANNER_SERIALNUMBER: scanr.SERIALNO = sElmValue; break; case Scanner.TAG_SCANNER_MODELNUMBER: scanr.MODELNO = sElmValue; break; case Scanner.TAG_SCANNER_GUID: scanr.GUID = sElmValue; break; case Scanner.TAG_SCANNER_PORT: scanr.PORT = sElmValue; break; case Scanner.TAG_SCANNER_FW: scanr.SCANNERFIRMWARE = sElmValue; break; case Scanner.TAG_SCANNER_DOM: scanr.SCANNERMNFDATE = sElmValue; break; } } break; } } } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }