123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689 |
- #include "VirtualDeviceClass.h"
- #include "libCardIssuerLoader.h"
- static VirtualDeviceClassImpl* object = NULL;
- VirtualDeviceClassImpl::VirtualDeviceClassImpl()
- {
- }
- VirtualDeviceClassImpl::~VirtualDeviceClassImpl()
- {
- }
- ErrorCodeEnum VirtualDeviceClassImpl::GetDevCategory(DevCategoryInfo& devCategory)
- {
- ErrorCodeEnum result;
- DevCategoryInfo inner;
- result = Bridge_GetDevCategory(&inner);
- if (result == Error_Succeed) {
- strcpy_s(devCategory.szType, MAX_DEV_TYPE_LEN, inner.szType);
- strcpy_s(devCategory.szModel, MAX_DEV_MODEL_LEN, inner.szModel);
- strcpy_s(devCategory.szVendor, MAX_DEV_VENDOR_LEN, inner.szVendor);
- devCategory.eState = inner.eState;
- devCategory.version.wMajor = inner.version.wMajor;
- devCategory.version.wMinor = inner.version.wMinor;
- devCategory.version.wRevision = inner.version.wRevision;
- devCategory.version.wBuild = inner.version.wBuild;
- }
- return result;
- }
- ErrorCodeEnum VirtualDeviceClassImpl::Reset()
- {
- return Bridge_Reset();
- }
- ErrorCodeEnum VirtualDeviceClassImpl::DevClose()
- {
- ErrorCodeEnum result = Error_Succeed;
- return (result = Bridge_DevClose());
- }
- ErrorCodeEnum VirtualDeviceClassImpl::GetLastErr(DevErrorInfo& devErrInfo)
- {
- ErrorCodeEnum result = Error_Succeed;
- DevErrorInfo inner;
- result = Bridge_GetLastErr(&inner);
- if (result == Error_Succeed) {
- devErrInfo.dwErrMsgLen = inner.dwErrMsgLen;
- strcpy_s(devErrInfo.szErrMsg, MAX_DEV_ERROR_MSG_LEN, inner.szErrMsg);
- }
- return (result);
- }
- ErrorCodeEnum VirtualDeviceClassImpl::DevOpen(DWORD dwPort, DWORD dwBaudRate)
- {
- ErrorCodeEnum result = Error_Succeed;
- return (result = Bridge_DevOpen(dwPort, dwBaudRate));
- }
- ErrorCodeEnum VirtualDeviceClassImpl::GetDevStatus(CardIssuerStatus& devStatus)
- {
- ErrorCodeEnum result = Error_Unexpect;
- Bridge_CardIssuerStatus inner;
- result = Bridge_GetDevStatus(&inner);
- if (result == Error_Succeed) {
- devStatus.eMedia = (CardStatusEnum)inner.eMedia;
- devStatus.eRetainBin = (RtBinStatusEnum)inner.eRetainBin;
- devStatus.dwRetainCount = inner.dwRetainCount;
- memcpy(devStatus.eIssuerBin, inner.eIssuerBin, 12 * sizeof(int));
- memcpy(devStatus.dwIssuerCount, inner.dwIssuerCount, 12 * sizeof(DWORD));
- memcpy(devStatus.eKakuTape, inner.eKakuTape, 8 * sizeof(int));
- }
- return result;
- }
- //未找到引用
- ErrorCodeEnum VirtualDeviceClassImpl::GetDeviceSN(char*& pDevSN)
- {
- ErrorCodeEnum result = Error_Unexpect;
- char* inner = new char[128];
- if (inner == NULL) return Error_Resource;
- memset(inner, 0, sizeof(char) * 128);
- result = Bridge_GetDeviceSN(&inner);
- if (result == Error_Succeed) {
- strcpy_s(pDevSN, 128, inner);
- }
- delete[] inner;
- return result;
- }
- ErrorCodeEnum VirtualDeviceClassImpl::MoveCard(CardPosEnum eCardPos, int hopperNo /*= 1*/)
- {
- ErrorCodeEnum result = Error_Unexpect;
- result = Bridge_MoveCard(eCardPos, hopperNo);
- return result;
- }
- ErrorCodeEnum VirtualDeviceClassImpl::SetCardInType(CardInEnum eCardIn)
- {
- ErrorCodeEnum result = Error_Unexpect;
- result = Bridge_SetCardInType(eCardIn);
- return result;
- }
- ErrorCodeEnum VirtualDeviceClassImpl::MagRead(MagTracks& magTracks)
- {
- ErrorCodeEnum result = Error_Unexpect;
- Bridge_MagTracks inner;
- inner.eRange = magTracks.eRange;
- result = Bridge_MagRead(&inner);
- if (result == Error_Succeed) {
- magTracks.eRange = (TrackRange)inner.eRange;
- for (int i = 0; i < MAX_MAG_TRACK_NUM; ++i) {
- magTracks.track[i].eSource = (TrackSrcEnum)inner.track[i].eSource;
- magTracks.track[i].eStatus = (TrackDataStateEnum)inner.track[i].eStatus;
- magTracks.track[i].dwSize = inner.track[i].dwSize;
- memset(magTracks.track[i].data, 0, sizeof(BYTE) * MAX_MAG_TRACK_SIZE);
- memcpy(magTracks.track[i].data, inner.track[i].data, sizeof(BYTE) * MAX_MAG_TRACK_SIZE);
- }
- }
- return result;
- }
- ErrorCodeEnum VirtualDeviceClassImpl::MagWrite(MagTracks magTracks, MagWriteModeEnum eWriteMode)
- {
- ErrorCodeEnum result = Error_Unexpect;
- Bridge_MagTracks inner;
- inner.eRange = magTracks.eRange;
- for (int i = 0; i < MAX_MAG_TRACK_NUM; ++i) {
- inner.track[i].eSource = (TrackSrcEnum)magTracks.track[i].eSource;
- inner.track[i].eStatus = (TrackDataStateEnum)magTracks.track[i].eStatus;
- inner.track[i].dwSize = magTracks.track[i].dwSize;
- memset(inner.track[i].data, 0, sizeof(BYTE) * MAX_MAG_TRACK_SIZE);
- memcpy(inner.track[i].data, magTracks.track[i].data, sizeof(BYTE) * MAX_MAG_TRACK_SIZE);
- }
- result = Bridge_MagWrite(inner, eWriteMode);
- return result;
- }
- ErrorCodeEnum VirtualDeviceClassImpl::SetRetractCounter(DWORD dwCount)
- {
- ErrorCodeEnum result = Error_Unexpect;
- result = Bridge_SetRetractCounter(dwCount);
- return result;
- }
- ErrorCodeEnum VirtualDeviceClassImpl::SetIssuerCounter(DWORD dwCount, int hopperNo /*= 1*/)
- {
- ErrorCodeEnum result = Error_Unexpect;
- result = Bridge_SetIssuerCounter(dwCount, hopperNo);
- return result;
- }
- ErrorCodeEnum VirtualDeviceClassImpl::ActiveICCard()
- {
- ErrorCodeEnum result = Error_Unexpect;
- result = Bridge_ActiveICCard();
- return result;
- }
- ErrorCodeEnum VirtualDeviceClassImpl::ContactIC()
- {
- ErrorCodeEnum result = Error_Unexpect;
- result = Bridge_ContactIC();
- return result;
- }
- ErrorCodeEnum VirtualDeviceClassImpl::ReleaseIC()
- {
- ErrorCodeEnum result = Error_Unexpect;
- result = Bridge_ReleaseIC();
- return result;
- }
- ErrorCodeEnum VirtualDeviceClassImpl::WarmReset()
- {
- ErrorCodeEnum result = Error_Unexpect;
- result = Bridge_ReleaseIC();
- return result;
- }
- ErrorCodeEnum VirtualDeviceClassImpl::ICCommand(CmdInfo sendBuf, CmdInfo& recvBuf)
- {
- ErrorCodeEnum result = Error_Unexpect;
- Bridge_CmdInfo inner_sendBuf;
- Bridge_CmdInfo inner_recvBuf;
- inner_sendBuf.dwSize = sendBuf.dwSize;
- memcpy(inner_sendBuf.data, sendBuf.data, sizeof(BYTE) * MAX_IC_BUFFER_SIZE);
- result = Bridge_ICCommand(inner_sendBuf, &inner_recvBuf);
- if (result == Error_Succeed) {
- recvBuf.dwSize = inner_recvBuf.dwSize;
- memcpy(recvBuf.data, inner_recvBuf.data, sizeof(BYTE) * MAX_IC_BUFFER_SIZE);
- }
- return result;
- }
- ErrorCodeEnum VirtualDeviceClassImpl::SAMActive(BYTE vcc /*= 0x30*/)
- {
- ErrorCodeEnum result = Error_Unexpect;
- result = Bridge_SAMActive(vcc);
- return result;
- }
- ErrorCodeEnum VirtualDeviceClassImpl::SAMDeactivate()
- {
- ErrorCodeEnum result = Error_Unexpect;
- result = Bridge_SAMDeactivate();
- return result;
- }
- ErrorCodeEnum VirtualDeviceClassImpl::SAMWarmReset()
- {
- ErrorCodeEnum result = Error_Unexpect;
- result = Bridge_SAMWarmReset();
- return result;
- }
- ErrorCodeEnum VirtualDeviceClassImpl::SAMQueryStatus(SAMStatus& samStatus)
- {
- ErrorCodeEnum result = Error_Unexpect;
- Bridge_SAMStatus inner;
- result = Bridge_SAMQueryStatus(&inner);
- if (result == Error_Succeed) {
- samStatus.isActive = inner.isActive;
- samStatus.chosenOfSAM = inner.chosenOfSAM;
- }
- return result;
- }
- ErrorCodeEnum VirtualDeviceClassImpl::SAMSelect(const int sn)
- {
- ErrorCodeEnum result = Error_Unexpect;
- result = Bridge_SAMSelect(sn);
- return result;
- }
- ErrorCodeEnum VirtualDeviceClassImpl::SAMCommand(CmdInfo sendBuf, CmdInfo& recvBuf)
- {
- ErrorCodeEnum result = Error_Unexpect;
- Bridge_CmdInfo inner_sendBuf;
- Bridge_CmdInfo inner_recvBuf;
- inner_sendBuf.dwSize = sendBuf.dwSize;
- memcpy(inner_sendBuf.data, sendBuf.data, sizeof(BYTE) * MAX_IC_BUFFER_SIZE);
- result = Bridge_SAMCommand(inner_sendBuf, &inner_recvBuf);
- if (result == Error_Succeed) {
- recvBuf.dwSize = inner_recvBuf.dwSize;
- memcpy(recvBuf.data, inner_recvBuf.data, sizeof(BYTE) * MAX_IC_BUFFER_SIZE);
- }
- return result;
- }
- ErrorCodeEnum VirtualDeviceClassImpl::ActiveICCardATR(CmdInfo& atrBuf)
- {
- ErrorCodeEnum result = Error_Unexpect;
- Bridge_CmdInfo inner;
- inner.dwSize = atrBuf.dwSize;
- memcpy(inner.data, atrBuf.data, sizeof(BYTE) * MAX_IC_BUFFER_SIZE);
- result = Bridge_ActiveICCardATR(&inner);
- if (result == Error_Succeed) {
- atrBuf.dwSize = inner.dwSize;
- memcpy(atrBuf.data, inner.data, sizeof(BYTE) * MAX_IC_BUFFER_SIZE);
- }
- return result;
- }
- //未找到引用
- ErrorCodeEnum VirtualDeviceClassImpl::Print(BYTE*& data, const int dataSize, const int side)
- {
- ErrorCodeEnum result = Error_Unexpect;
- BYTE* inner = new BYTE[2048];
- if (inner == NULL) {
- return Error_Resource;
- }
- memset(inner, 0, sizeof(BYTE) * 2048);
- memcpy(inner, data, 2048);
- result = Bridge_Print(&inner, dataSize, side);
- delete[] inner;
- return result;
- }
- //未找到引用
- ErrorCodeEnum VirtualDeviceClassImpl::QueryPrinterStatus()
- {
- ErrorCodeEnum result = Error_Unexpect;
- result = Bridge_QueryPrinterStatus();
- return result;
- }
- ErrorCodeEnum VirtualDeviceClassImpl::ActiveContactlessICCard(char fstType, char scdType, char thdType, char& outType)
- {
- ErrorCodeEnum result = Error_Unexpect;
- char inner = outType;
- result = Bridge_ActiveContactlessICCard(fstType, scdType, thdType, &inner);
- if (result == Error_Succeed) {
- outType = inner;
- }
- return result;
- }
- ErrorCodeEnum VirtualDeviceClassImpl::DeactivateICCard()
- {
- ErrorCodeEnum result = Error_Unexpect;
- result = Bridge_DeactivateICCard();
- return result;
- }
- ErrorCodeEnum VirtualDeviceClassImpl::DeactContactlessICCard()
- {
- ErrorCodeEnum result = Error_Unexpect;
- result = Bridge_DeactContactlessICCard();
- return result;
- }
- //未找到引用
- ErrorCodeEnum VirtualDeviceClassImpl::MifareCommand(MifareFuctionEnum eFunType, CmdInfo sendBuf, CmdInfo& recvBuf)
- {
- ErrorCodeEnum result = Error_Unexpect;
- Bridge_CmdInfo inner_sendBuf;
- Bridge_CmdInfo inner_recvBuf;
- inner_sendBuf.dwSize = sendBuf.dwSize;
- memcpy(inner_sendBuf.data, sendBuf.data, sizeof(BYTE) * MAX_IC_BUFFER_SIZE);
- result = Bridge_MifareCommand((MifareFuctionEnum)eFunType, inner_sendBuf, &inner_recvBuf);
- if (result == Error_Succeed) {
- recvBuf.dwSize = inner_recvBuf.dwSize;
- memcpy(recvBuf.data, inner_recvBuf.data, sizeof(BYTE) * MAX_IC_BUFFER_SIZE);
- }
- return result;
- }
- ErrorCodeEnum VirtualDeviceClassImpl::RFTypeABCommand(CmdInfo sendBuf, CmdInfo& recvBuf)
- {
- ErrorCodeEnum result = Error_Unexpect;
- Bridge_CmdInfo inner_sendBuf;
- Bridge_CmdInfo inner_recvBuf;
- inner_sendBuf.dwSize = sendBuf.dwSize;
- memcpy(inner_sendBuf.data, sendBuf.data, sizeof(BYTE) * MAX_IC_BUFFER_SIZE);
- result = Bridge_RFTypeABCommand(inner_sendBuf, &inner_recvBuf);
- if (result == Error_Succeed) {
- recvBuf.dwSize = inner_recvBuf.dwSize;
- memcpy(recvBuf.data, inner_recvBuf.data, sizeof(BYTE) * MAX_IC_BUFFER_SIZE);
- }
- return result;
- }
- ErrorCodeEnum VirtualDeviceClassImpl::DevOpenEx(DWORD dwPort, DWORD dwBaudRate, BYTE btOpenType, const char* pDevSN, BYTE& btType)
- {
- ErrorCodeEnum result = Error_Unexpect;
- BYTE inner = btType;
- result = Bridge_DevOpenEx(dwPort, dwBaudRate, btOpenType, pDevSN, &inner);
- if (result == Error_Succeed) {
- btType = inner;
- }
- return result;
- }
- //未找到引用
- ErrorCodeEnum VirtualDeviceClassImpl::TransferEnInit(int& iStatus, BYTE*& Cr1, int& lenR1, BYTE*& Cr3, int& lenR3, BYTE*& dKey, int& lenKey)
- {
- ErrorCodeEnum result = Error_Unexpect;
- int inner_iStatus = 0;
- int inner_lenR1 = 0;
- int inner_lenR3 = 0;
- int inner_lenKey = 0;
- BYTE* inner_cr1 = new BYTE[256];
- BYTE* inner_cr3 = new BYTE[256];
- BYTE* inner_key = new BYTE[256];
- if (inner_cr1 == NULL || inner_cr3 == NULL || inner_key == NULL) {
- if (inner_cr1 != NULL) delete[] inner_cr1;
- if (inner_cr3 != NULL) delete[] inner_cr3;
- if (inner_key != NULL) delete[] inner_key;
- return Error_Resource;
- }
- memcpy(inner_cr1, Cr1, 256);
- memcpy(inner_cr3, Cr3, 256);
- memcpy(inner_key, dKey, 256);
- result = Bridge_TransferEnInit(&inner_iStatus, &inner_cr1, &inner_lenR1, &inner_cr3, &inner_lenR3, &inner_key, &inner_lenKey);
- if (result == Error_Succeed) {
- iStatus = inner_iStatus;
- lenR1 = inner_lenR1;
- lenR3 = inner_lenR3;
- lenKey = inner_lenKey;
- memcpy(Cr1, inner_cr1, 256);
- memcpy(Cr3, inner_cr3, 256);
- memcpy(dKey, inner_key, 256);
- }
- if (inner_cr1 != NULL) delete[] inner_cr1;
- if (inner_cr3 != NULL) delete[] inner_cr3;
- if (inner_key != NULL) delete[] inner_key;
- return result;
- }
- //未找到引用
- ErrorCodeEnum VirtualDeviceClassImpl::SetR2(int& iStatus, BYTE* pCr2, int lenR2)
- {
- ErrorCodeEnum result = Error_Unexpect;
- int inner_iStatus = iStatus;
- result = Bridge_SetR2(&inner_iStatus, pCr2, lenR2);
- if (result == Error_Succeed) {
- iStatus = inner_iStatus;
- }
- return result;
- }
- //未找到引用
- ErrorCodeEnum VirtualDeviceClassImpl::SendWorkingKey(const char* pWorkingKey)
- {
- ErrorCodeEnum result = Error_Unexpect;
- result = Bridge_SendWorkingKey(pWorkingKey);
- return result;
- }
- //未找到引用
- ErrorCodeEnum VirtualDeviceClassImpl::SLLoadKey(const SCIKeyInfo key)
- {
- ErrorCodeEnum result = Error_Unexpect;
- Bridge_SCIKeyInfo inner;
- memcpy(inner.key, key.key, MAX_WORKING_KEY_SIZE);
- inner.dwSize = key.dwSize;
- result = Bridge_SLLoadKey(inner);
- return result;
- }
- //未找到引用
- ErrorCodeEnum VirtualDeviceClassImpl::SLSetParam(SCIParamType eType, int value)
- {
- ErrorCodeEnum result = Error_Unexpect;
- result = Bridge_SLSetParam(eType, value);
- return result;
- }
- //未找到引用
- ErrorCodeEnum VirtualDeviceClassImpl::SLLock()
- {
- ErrorCodeEnum result = Error_Unexpect;
- result = Bridge_SLLock();
- return result;
- }
- //未找到引用
- ErrorCodeEnum VirtualDeviceClassImpl::SLUnLock(const SCICheckCode checkCode, bool bTemp /*= true*/)
- {
- ErrorCodeEnum result = Error_Unexpect;
- Bridge_SCICheckCode inner;
- inner.dwSize = checkCode.dwSize;
- memcpy(inner.code, checkCode.code, MAX_CHECK_CODE_SIZE);
- result = Bridge_SLUnLock(inner, bTemp ? 1 : 0);
- return result;
- }
- //未找到引用
- ErrorCodeEnum VirtualDeviceClassImpl::SLGetTempData(SCITempData& ksnData, SCITempData& ramData)
- {
- ErrorCodeEnum result = Error_Unexpect;
- Bridge_SCITempData inner_ksn;
- Bridge_SCITempData inner_ram;
- result = Bridge_SLGetTempData(&inner_ksn, &inner_ram);
- if (result == Error_Succeed) {
- ksnData.dwSize = inner_ksn.dwSize;
- memcpy(ksnData.data, inner_ksn.data, MAX_TEMP_DATA_SIZE);
- ramData.dwSize = inner_ram.dwSize;
- memcpy(ramData.data, inner_ram.data, MAX_TEMP_DATA_SIZE);
- }
- return result;
- }
- //未找到引用
- ErrorCodeEnum VirtualDeviceClassImpl::SLOpenDoor(const SCITempData data)
- {
- ErrorCodeEnum result = Error_Unexpect;
- Bridge_SCITempData inner;
- inner.dwSize = data.dwSize;
- memcpy(inner.data, data.data, MAX_TEMP_DATA_SIZE);
- result = Bridge_SLOpenDoor(inner);
- return result;
- }
- //未找到引用
- ErrorCodeEnum VirtualDeviceClassImpl::BluetoothControl(SCIBluetoothCMD eCmd)
- {
- ErrorCodeEnum result = Error_Unexpect;
- result = Bridge_BluetoothControl(eCmd);
- return result;
- }
- //未找到引用
- ErrorCodeEnum VirtualDeviceClassImpl::BluetoothModifyKey(unsigned char* key)
- {
- ErrorCodeEnum result = Error_Unexpect;
- result = Bridge_BluetoothModifyKey(key);
- return result;
- }
- //未找到引用
- ErrorCodeEnum VirtualDeviceClassImpl::BluetoothModifyName(unsigned char* name)
- {
- ErrorCodeEnum result = Error_Unexpect;
- result = Bridge_BluetoothModifyName(name);
- return result;
- }
- //未找到引用
- ErrorCodeEnum VirtualDeviceClassImpl::BluetoothGetVersion(char*& version)
- {
- ErrorCodeEnum result = Error_Unexpect;
- char* inner = new char[256];
- if (inner == NULL) return Error_Resource;
- memset(inner, 0, sizeof(char) * 256);
- result = Bridge_BluetoothGetVersion(&inner);
- if (result == Error_Succeed) {
- strcpy_s(version, 256, inner);
- }
- delete[] inner;
- return result;
- }
- //未找到引用
- ErrorCodeEnum VirtualDeviceClassImpl::BluetoothGetConnectName(unsigned char*& name)
- {
- ErrorCodeEnum result = Error_Unexpect;
- unsigned char* inner = new unsigned char[256];
- if (inner == NULL) return Error_Resource;
- memset(inner, 0, sizeof(unsigned char) * 256);
- result = Bridge_BluetoothGetConnectName(&inner);
- if (result == Error_Succeed) {
- strcpy((char*)name, (const char*)inner);
- }
- delete[] inner;
- return result;
- }
- //未找到引用
- ErrorCodeEnum VirtualDeviceClassImpl::BluetoothGetSignalStrength(unsigned char*& signal)
- {
- ErrorCodeEnum result = Error_Unexpect;
- unsigned char* inner = new unsigned char[256];
- if (inner == NULL) return Error_Resource;
- memset(inner, 0, sizeof(unsigned char) * 256);
- result = Bridge_BluetoothGetSignalStrength(&inner);
- if (result == Error_Succeed) {
- strcpy((char*)signal, (const char*)inner);
- }
- delete[] inner;
- return result;
- }
- //未找到引用
- ErrorCodeEnum VirtualDeviceClassImpl::LightControl(SCILightType eLight, bool bOnOff)
- {
- ErrorCodeEnum result = Error_Unexpect;
- result = Bridge_LightControl(eLight, bOnOff ? 1 : 0);
- return result;
- }
- //未找到引用
- ErrorCodeEnum VirtualDeviceClassImpl::QueryBatteryPower(int& bat)
- {
- ErrorCodeEnum result = Error_Unexpect;
- int inner;
- result = Bridge_QueryBatteryPower(&inner);
- if (result == Error_Succeed) {
- bat = inner;
- }
- return result;
- }
- ErrorCodeEnum VirtualDeviceClassImpl::MoveCardToSlot(int slot)
- {
- ErrorCodeEnum result = Error_Unexpect;
- result = Bridge_MoveCardToSlot(slot);
- return result;
- }
- ErrorCodeEnum VirtualDeviceClassImpl::MoveCardFromSlot(int slot)
- {
- ErrorCodeEnum result = Error_Unexpect;
- result = Bridge_MoveCardFromSlot(slot);
- return result;
- }
- ErrorCodeEnum VirtualDeviceClassImpl::ReadAccount(CardNo& cardNo)
- {
- ErrorCodeEnum result = Error_Unexpect;
- Bridge_CardNo inner;
- result = Bridge_ReadAccount(&inner);
- if (result == Error_Succeed) {
- cardNo.dwSize = inner.dwSize;
- cardNo.dwTrack2Size = inner.dwTrack2Size;
- cardNo.dwTrack3Size = inner.dwTrack3Size;
- memcpy(cardNo.account, inner.account, MAX_MAG_TRACK_SIZE);
- memcpy(cardNo.track2, inner.track2, MAX_MAG_TRACK_SIZE);
- memcpy(cardNo.track3, inner.track3, MAX_MAG_TRACK_SIZE);
- }
- return result;
- }
- ErrorCodeEnum VirtualDeviceClassImpl::GetSlotSum(int& sum)
- {
- ErrorCodeEnum result = Error_Unexpect;
- int inner;
- result = Bridge_GetSlotSum(&inner);
- if (result == Error_Succeed) {
- sum = inner;
- }
- return result;
- }
- ErrorCodeEnum VirtualDeviceClassImpl::QuerySlotsStatus(SlotStatus& slots, const int slot, bool bFull /*= false*/)
- {
- ErrorCodeEnum result = Error_Unexpect;
- Bridge_SlotStatus inner;
- result = Bridge_QuerySlotsStatus(&inner, slot, bFull ? 1 : 0);
- if (result == Error_Succeed) {
- slots.dwSize = inner.dwSize;
- memcpy(slots.status, inner.status, MAX_SLOT_BUFFER_SIZE);
- }
- return result;
- }
- ErrorCodeEnum VirtualDeviceClassImpl::PrintCardFaceRightNow(const KakuPrintInfo printInfo)
- {
- ErrorCodeEnum result = Error_Unexpect;
- Bridge_KakuPrintInfo inner;
- memset(inner.formPath, 0, sizeof(char) * MAX_KAKU_FILE_SIZE);
- memset(inner.fields, 0, sizeof(char) * MAX_KAKU_FIELDS_SIZE);
- strcpy_s(inner.formPath, printInfo.formPath);
- strcpy_s(inner.fields, printInfo.fields);
- result = Bridge_PrintCardFaceRightNow(inner);
- return result;
- }
- DEVICEBASE_API ErrorCodeEnum CreateDevComponent(DeviceBaseClass*& pOutDevAptObj)
- {
- ErrorCodeEnum result(Error_Unexpect);
- if (object == NULL) {
- char* buf;
- DWORD size;
- const char* var = "INVOKE_VENDOR_ADAPTER_NAME";
- size = GetEnvironmentVariableA(var, NULL, 0);
- //ERROR_ENVVAR_NOT_FOUND
- if (size <= 0) {
- return Error_InvalidState;
- }
- buf = new char[size + 3];
- if (buf == NULL) {
- return Error_Resource;
- }
- memset(buf, 0, sizeof(char) * (size + 3));
- size = GetEnvironmentVariableA(var, buf, size);
- result = Bridge_LoadDevObject(buf);
- if (result == Error_Succeed) {
- object = new VirtualDeviceClassImpl();
- }
- delete[] buf;
- }
- pOutDevAptObj = object;
- return result;
- }
- DEVICEBASE_API ErrorCodeEnum ReleaseDevComponent(DeviceBaseClass*& pInDevAptObj)
- {
- ErrorCodeEnum result = Bridge_ReleaseDevObject();
- if (result == Error_Succeed && pInDevAptObj != NULL) {
- delete pInDevAptObj;
- pInDevAptObj = NULL;
- }
- return result;
- }
- extern "C" DEVICEBASE_API void GetMoreErrorDetail(char* szErrMsg, DWORD * pMsgLen)
- {
- if (szErrMsg != NULL && pMsgLen != NULL && *pMsgLen > 0) {
- DevErrorInfo inner;
- ErrorCodeEnum result = Bridge_GetLastErr(&inner);
- if (result == Error_Succeed) {
- strcpy_s(szErrMsg, *pMsgLen, inner.szErrMsg);
- *pMsgLen = inner.dwErrMsgLen;
- }
- }
- }
|