#pragma once #include "include/SmartCommon.dll.h" #include "include/SmartErrCodes.h" class CSMARTCommon { public: CSMARTCommon(void); public: ~CSMARTCommon(void); public: BOOL Load(LPTSTR dllFile); void Free(); BOOL IsLoaded(); BOOL IsOpened(); int GetLastResult() { return m_nLastRes; } public: int GetDeviceList(SMART70_PRINTER_LIST* pDevList); int ExGetDeviceList(SMART70_PRINTER_LIST* pDevList, int opt); int GetDeviceInfo(SMART70_PRINTER_INFO* pDevInfo, WCHAR* szdev, int ndevtype); int OpenDevice(WCHAR* szdev, int ndevtype); int ExOpenDevice(WCHAR* szdev, int ndevtype); int CloseDevice(); int GetStatus(BYTE mod, __int64* pstatus); int GetRibbonInfo(BYTE mod, int* pnType, int* pnRemain, int* pnMax); int GetConnectedDevices(SMART70_DEVCONNLIST* pConnList); int GetConnectedModules(SMART70_DEVCONNLIST* pConnList); int ICHContact(BYTE mod); int ICHDiscontact(BYTE mod); int OpenDocument(LPCTSTR szCSDName); int CloseDocument(); int ClearDocument(int page); int GetFieldCount(int* pnCount); int GetFieldName(int idx, LPTSTR szName, DWORD dwBufLen); int GetFieldValue(LPCTSTR szName, LPTSTR szValue); int SetFieldValue(LPCTSTR szName, LPCTSTR szValue); int DrawImage(BYTE page, BYTE panel, int x, int y, int cx, int cy, WCHAR* szImgPath, RECT* prcArea); int ExDrawImage(BYTE page, BYTE panel, int x, int y, int cx, int cy, int nScaleMethod, BYTE nAlign, WCHAR* szImgPath, RECT* prcArea); int DrawBitmap(BYTE page, BYTE panel, int x, int y, int cx, int cy, HBITMAP hbmp, RECT* prcArea); int DrawText(BYTE page, BYTE panel, int x, int y, WCHAR* szFontName, int nFontSize, BYTE nFontStyle, WCHAR* szText, RECT* prcArea); int DrawText2(BYTE page, BYTE panel, DT2INFO* pdt2info, WCHAR* szText); int DrawRect(BYTE page, BYTE panel, int x, int y, int cx, int cy, COLORREF col, RECT* prcArea); int DrawBarcode(BYTE page, BYTE panel, int x, int y, int cx, int cy, COLORREF col, RECT* prcArea, LPCTSTR szName, int nSize, LPCTSTR szData, LPCTSTR szPost); int GetBarcodeTypeCount(int* pnCount); int GetBarcodeTypeName(int idx, LPTSTR szName, int nBufLen); int GetPreviewBitmap(BYTE page, BITMAPINFO** const ppbi); int GetDocumentBitmap(BYTE page, BYTE panel, HBITMAP* phbmp); int GetUnitInfo(S70UNITINFO* pUnit, int dir); int GetFieldLinkedUnitInfo(WCHAR* szField, S70UNITINFO* pUnit, int dir); int SetUnitInfo(S70UNITINFO* pUnit); int GetUnitInfo2(UNITINFO2* pUnit, int dir); int GetFieldLinkedUnitInfo2(WCHAR* szField, UNITINFO2* pUnit, int dir); int SetUnitInfo2(UNITINFO2* pUnit); int GetUnitInfo2Direct(UNITINFO2* pUnit); int Print(); int SetICG(int page, int nICG); int GetICG(int page, int* pnICG); int RFPowerOn(int nDev, int* pnCardType, DWORD* pdwOutLen, BYTE* pOutBuf); int RFPowerOff(int nDev); int RFTransmit(int nDev, DWORD dwInLen, BYTE* pInBuf, DWORD* pdwOutLen, BYTE* pOutBuf); int RFPowerOn2(BYTE mod, DWORD* pdwOutLen, BYTE* pOutBuf); int RFPowerOff2(BYTE mod); int RFTransmit2(BYTE mod, DWORD dwInLen, BYTE* pInBuf, DWORD* pdwOutLen, BYTE* pOutBuf); int ICPowerOn(int nDev, DWORD* pdwOutLen, BYTE* pOutBuf); int ICPowerOff(int nDev); int ICTransmit(int nDev, DWORD dwInLen, BYTE* pInBuf, DWORD* pdwOutLen, BYTE* pOutBuf); int ICPowerOn2(BYTE mod, DWORD* pdwOutLen, BYTE* pOutBuf); int ICPowerOff2(BYTE mod); int ICTransmit2(BYTE mod, DWORD dwInLen, BYTE* pInBuf, DWORD* pdwOutLen, BYTE* pOutBuf); int DCLOpenDevice(WCHAR* szdev, int ndevtype, int nOrientation); int DCLOpenDevice3(WCHAR* szDev, int port, BOOL bSSL, int nOrientation); int DCLExOpenDevice(WCHAR* szdev, int ndevtype, int nOrientation); int DCLCloseDevice(); int DCLPrint(int nPrintSide); int ReadUserMemory(WCHAR* szPW, int addr, BYTE* btdata); int WriteUserMemory(WCHAR* szPW, int addr, BYTE* btdata); #ifdef _WIN64 int ExSetConfig(int nID, __int64 nValue); int ExGetConfig(int nID, __int64* pnValue); #else//_WIN64 int ExSetConfig(int nID, int nValue); int ExGetConfig(int nID, int* pnValue); #endif//_WIN64 int RequestPreemption(WORD * pwPrmt); int ReleasePreemption(WORD wPrmt); int GetModuleState(BYTE mod, BYTE * pstate); int UpdateModuleState(BYTE mod); int IsModuleReady(BYTE mod, int* pnReadY); int IsReadyInsertJob(int* pnReadY); int ToggleManualMode(); int UpdateCurrPrintJob(BYTE mod); int GetCurrPrintJob(BYTE mod, WORD* pjobid); int DeleteCurrPrintJob(BYTE mod); int CardIn(BYTE module, int dir, int opt); int CardOut(BYTE module, int dir, int opt); int CardMove(BYTE fromModule, BYTE toModule, int opt); int CardMove2(BYTE fromModule, BYTE fromOpt, BYTE toModule, BYTE toOpt, int cmdopt); int CardListMove(CARDMOVELIST * plist); int CardMoveQuick(BYTE mod, BYTE opt, int cmdopt); int CardPass(BYTE mod, BYTE opt, int cmdopt); int CardFlipPass(BYTE mod, BYTE opt, int cmdopt); int CardFlip(BYTE modfrom, BYTE modflip, BYTE modto); int CardFlip2(BYTE modfrom, BYTE modflip, BYTE modto); int CardFlipStay(BYTE modfrom, BYTE modflip); int Flip(BYTE mod, int opt, int value); int CardMoveSensor(BYTE module, int opt1, int value, int opt2); int CardMovePosition(BYTE module, int pos); int CardEject(BYTE module); int CardEjectBin(BYTE mod, BYTE modbin); int CardEject2(BYTE mod, int opt, BYTE modout, int optout); int SetEncConfig(BYTE module, int config, int value); int SetEncConfig2(BYTE module, int config, void* pbuf, int buflen); int GetEncConfig2(BYTE module, int config, void* pbuf, int* pbuflen); int SetEncBuffer(BYTE module, BYTE track, int nbuflen, WCHAR* szbuf); int WriteEncoder(BYTE module, BYTE track, BYTE opt); int ReadEncoder(BYTE module, BYTE track, BYTE opt); int FetchEncoder(BYTE module, BYTE track); int GetEncBuffer(BYTE module, BYTE track, int * pnbufsize, WCHAR* szbuf); int RunEncoder(BYTE module, BYTE track, int run, void* pbuf, int* pbuflen); int GetPrinterSettings(BYTE module, SMART70_DEVMODE* pdm); int SetPrinterSettings(BYTE module, SMART70_DEVMODE* pdm); int PrintDocument(int opt, int * reserved); int SetJobCallback(S70CBPROC pfnCB); int PrintStart(BYTE mod, int opt, int cmdopt); int GetJobInfo(JOBINFO* pjobinf); int GetJobInfoEx(JOBINFO_EX* pjobinf); int NewJobDescriptor(HJOBD * phjd, SM70CB_ERROR pfncbErr); int FreeJobDescriptor(HJOBD hjd); int AddJobItem(HJOBD hjd, int ji_type, void * ji_param); int AddJobItemMove(HJOBD hjd, BYTE from_mid, BYTE from_opt, BYTE to_mid, BYTE to_opt); int AddJobItemFlip(HJOBD hjd, BYTE from_mid, BYTE flip_mid, BYTE to_mid, BYTE opt); int AddJobItemMagnetic(HJOBD hjd, BYTE mid, int coer, SM70CB_MAGNETIC pfncb); int AddJobItemContact(HJOBD hjd, BYTE mid, SM70CB_CONTACT pfncb); int AddJobItemContactless(HJOBD hjd, BYTE mid, SM70CB_CONTACTLESS pfncb); int AddJobItemScanImage(HJOBD hjd, BYTE mid, int dpi, int mode, int side, int opt, SM70CB_SCANIMAGE pfncb); int AddJobItemScanBarcode(HJOBD hjd, BYTE mid, int dpi, int mode, int side, int opt, SM70CB_SCANBARCODE pfncb); int AddJobItemPrint(HJOBD hjd, BYTE mid, int page, SM70CB_PRINT pfncb); int AddJobItemLaminate(HJOBD hjd, BYTE mid, int page, SM70CB_LAMINATE pfncb); int AddJobItemUser(HJOBD hjd, BYTE mid, int opt, SM70CB_USER pfncb); int InsertJob(HJOBD hjd, int * pjobid); int ExGetDevParam2(BYTE, WCHAR*, int, int*, int); int ExSetDevParam2(BYTE, WCHAR*, int, int*, int); int MagWrite(BYTE mod, BOOL bT1, WCHAR* szT1, BOOL bT2, WCHAR* szT2, BOOL bT3, WCHAR* szT3, BOOL bJIS, WCHAR* szJIS); int MagRead(BYTE mod, BOOL bT1, WCHAR* szT1, int nT1, BOOL bT2, WCHAR* szT2, int nT2, BOOL bT3, WCHAR* szT3, int nT3, BOOL bJIS, WCHAR* szJIS, int nJIS); // laser device manager int LaserConnect(); int LaserDisconnect(); int LaserCheckPort(); int LDrawLine (LLINE *pline, S70Laser *plaser, RECT* prc); int LDrawRect (LRECT *prect, S70Laser *plaser, RECT* prc); int LDrawOval (LOVAL *poval, S70Laser *plaser, RECT* prc); int LDrawRRect (LRRECT *prrc, S70Laser *plaser, RECT* prc); int LDrawText (LTEXT *ptext, S70Laser *plaser, RECT* prc); int LDrawBarcode (LBAR *pbar, S70Laser *plaser, RECT* prc); int LDrawImage (LIMG *pimg, S70Laser *plaser, RECT* prc); int LDrawBitmap (LBMP *pbmp, S70Laser *plaser, RECT* prc); private: HMODULE m_hDll; HSMART70 m_hSmart; int m_nLastRes; // return value of last command... private: Smart70_GetDeviceList m_pfn_GetDeviceList; Smart70_ExGetDeviceList m_pfn_ExGetDeviceList; Smart70_GetDeviceInfo m_pfn_GetDeviceInfo; Smart70_OpenDevice m_pfn_OpenDevice; Smart70_ExOpenDevice m_pfn_ExOpenDevice; Smart70_CloseDevice m_pfn_CloseDevice; Smart70DCL_OpenDevice m_pfn_DCLOpenDevice; Smart70DCL_OpenDevice3 m_pfn_DCLOpenDevice3; Smart70DCL_ExOpenDevice m_pfn_DCLExOpenDevice; Smart70DCL_CloseDevice m_pfn_DCLCloseDevice; Smart70DCL_Print m_pfn_DCLPrint; Smart70_GetRibbonInfo m_pfn_GetRibbonInfo; Smart70_GetConnectedDevices m_pfn_GetConnectedDevices; Smart70_GetConnectedModules m_pfn_GetConnectedModules; Smart70_ICHContact m_pfn_ICHContact; Smart70_ICHDiscontact m_pfn_ICHDiscontact; Smart70_OpenDocument m_pfn_OpenDocument; Smart70_CloseDocument m_pfn_CloseDocument; Smart70_ClearDocument m_pfn_ClearDocument; Smart70_GetPrinterSettings m_pfn_GetPrinterSettings; Smart70_SetPrinterSettings m_pfn_SetPrinterSettings; Smart70_ReadUserMemory m_pfn_ReadUserMemory; Smart70_WriteUserMemory m_pfn_WriteUserMemory; Smart70_GetFieldCount m_pfn_GetFieldCount; Smart70_GetFieldName m_pfn_GetFieldName; Smart70_GetFieldValue m_pfn_GetFieldValue; Smart70_SetFieldValue m_pfn_SetFieldValue; Smart70_DrawImage m_pfn_DrawImage; Smart70_ExDrawImage m_pfn_DrawImage2; Smart70_DrawBitmap m_pfn_DrawBitmap; Smart70_DrawText m_pfn_DrawText; Smart70_DrawText2 m_pfn_DrawText2; Smart70_DrawRect m_pfn_DrawRect; Smart70_DrawBarcode m_pfn_DrawBarcode; Smart70_GetBarcodeTypeCount m_pfn_GetBarcodeTypeCount; Smart70_GetBarcodeTypeName m_pfn_GetBarcodeTypeName; Smart70_SetICG m_pfn_SetICG; Smart70_GetICG m_pfn_GetICG; Smart70_GetPreviewBitmap m_pfn_GetPreviewBitmap; Smart70_GetUnitInfo m_pfn_GetUnitInfo; Smart70_GetFieldLinkedUnitInfo m_pfn_GetFieldLinkedUnitInfo; Smart70_SetUnitInfo m_pfn_SetUnitInfo; Smart70_GetUnitInfo2 m_pfn_GetUnitInfo2; Smart70_GetFieldLinkedUnitInfo2 m_pfn_GetFieldLinkedUnitInfo2; Smart70_SetUnitInfo2 m_pfn_SetUnitInfo2; Smart70_GetUnitInfo2Direct m_pfn_GetUnitInfo2Direct; Smart70_GetCountParam m_pfn_GetCountParam; Smart70_GetCountParamEx m_pfn_GetCountParamEx; Smart70_GetDisplayInfo m_pfn_GetDisplayInfo; Smart70_GetSystemInfo m_pfn_GetSystemInfo; Smart70_RFPowerOn m_pfn_RFPowerOn; Smart70_RFPowerOff m_pfn_RFPowerOff; Smart70_RFTransmit m_pfn_RFTransmit; Smart70_RFPowerOn2 m_pfn_RFPowerOn2; Smart70_RFPowerOff2 m_pfn_RFPowerOff2; Smart70_RFTransmit2 m_pfn_RFTransmit2; Smart70_ICPowerOn m_pfn_ICPowerOn; Smart70_ICPowerOff m_pfn_ICPowerOff; Smart70_ICTransmit m_pfn_ICTransmit; Smart70_ICPowerOn2 m_pfn_ICPowerOn2; Smart70_ICPowerOff2 m_pfn_ICPowerOff2; Smart70_ICTransmit2 m_pfn_ICTransmit2; Smart70_ExSetConfig m_pfn_ExSetConfig; Smart70_ExGetConfig m_pfn_ExGetConfig; Smart70_RequestPreemption m_pfn_RequestPreemption; Smart70_ReleasePreemption m_pfn_ReleasePreemption; Smart70_GetModuleState m_pfn_GetModuleState; Smart70_UpdateModuleState m_pfn_UpdateModuleState; Smart70_GetStatus m_pfn_GetStatus; Smart70_IsModuleReady m_pfn_IsModuleReady; Smart70_IsReadyInsertJob m_pfn_IsReadyInsertJob; Smart70_ToggleManualMode m_pfn_ToggleManualMode; Smart70_UpdateCurrPrintJob m_pfn_UpdateCurrPrintJob; Smart70_GetCurrPrintJob m_pfn_GetCurrPrintJob; Smart70_DeleteCurrPrintJob m_pfn_DeleteCurrPrintJob; Smart70_CardIn m_pfn_CardIn; Smart70_CardOut m_pfn_CardOut; Smart70_CardMove m_pfn_CardMove; Smart70_CardMove2 m_pfn_CardMove2; Smart70_CardListMove m_pfn_CardListMove; Smart70_CardMoveQuick m_pfn_CardMoveQuick; Smart70_CardPass m_pfn_CardPass; Smart70_CardFlipPass m_pfn_CardFlipPass; Smart70_CardFlip m_pfn_CardFlip; Smart70_CardFlip2 m_pfn_CardFlip2; Smart70_CardFlipStay m_pfn_CardFlipStay; Smart70_Flip m_pfn_Flip; Smart70_CardMoveSensor m_pfn_CardMoveSensor; Smart70_CardMovePosition m_pfn_CardMovePosition; Smart70_CardEject m_pfn_CardEject; Smart70_CardEjectBin m_pfn_CardEjectBin; Smart70_CardEject2 m_pfn_CardEject2; Smart70_SetEncConfig m_pfn_SetEncConfig; Smart70_GetEncConfig2 m_pfn_GetEncConfig2; Smart70_SetEncConfig2 m_pfn_SetEncConfig2; Smart70_SetEncBuffer m_pfn_SetEncBuffer; Smart70_WriteEncoder m_pfn_WriteEncoder; Smart70_ReadEncoder m_pfn_ReadEncoder; Smart70_FetchEncoder m_pfn_FetchEncoder; Smart70_GetEncBuffer m_pfn_GetEncBuffer; Smart70_RunEncoder m_pfn_RunEncoder; Smart70_PrintDocument m_pfn_PrintDocument; Smart70_SetJobCallback m_pfn_SetJobCallback; Smart70_PrintStart m_pfn_PrintStart; Smart70_GetJobInfo m_pfn_GetJobInfo; Smart70_GetJobInfoEx m_pfn_GetJobInfoEx; Smart70_NewJobDescriptor m_pfn_NewJobDescriptor; Smart70_FreeJobDescriptor m_pfn_FreeJobDescriptor; Smart70_AddJobItem m_pfn_AddJobItem; Smart70_AddJobItemMove m_pfn_AddJobItemMove; Smart70_AddJobItemFlip m_pfn_AddJobItemFlip; Smart70_AddJobItemMagnetic m_pfn_AddJobItemMagnetic; Smart70_AddJobItemContact m_pfn_AddJobItemContact; Smart70_AddJobItemContactless m_pfn_AddJobItemContactless; Smart70_AddJobItemScanImage m_pfn_AddJobItemScanImage; Smart70_AddJobItemScanBarcode m_pfn_AddJobItemScanBarcode; Smart70_AddJobItemPrint m_pfn_AddJobItemPrint; Smart70_AddJobItemLaminate m_pfn_AddJobItemLaminate; Smart70_AddJobItemUser m_pfn_AddJobItemUser; Smart70_InsertJob m_pfn_InsertJob; Smart70_ExGetDevParam2 m_pfn_ExGetDevParam2; Smart70_ExSetDevParam2 m_pfn_ExSetDevParam2; Smart70_MagWrite m_pfn_MagWrite; Smart70_MagRead m_pfn_MagRead; Smart70_LaserConnect m_pfn_LaserConnect; Smart70_LaserDisconnect m_pfn_LaserDisconnect; Smart70_LaserCheckPort m_pfn_LaserCheckPort; Smart70_LDrawLine m_pfn_LDrawLine; Smart70_LDrawRect m_pfn_LDrawRect; Smart70_LDrawOval m_pfn_LDrawOval; Smart70_LDrawRRect m_pfn_LDrawRRect; Smart70_LDrawText m_pfn_LDrawText; Smart70_LDrawBarcode m_pfn_LDrawBarcode; Smart70_LDrawImage m_pfn_LDrawImage; Smart70_LDrawBitmap m_pfn_LDrawBitmap; };