spc-kiosk-pb/Library/Common/PosOLEDevice.cs

89 lines
3.2 KiB
C#
Raw Permalink Normal View History

2019-06-16 05:12:09 +00:00
using System;
using System.Text;
using System.Runtime.InteropServices;
using Cosmos.UserFrame;
/*-----------------------------------------------------------------------------------------------*/
// 설 명 : POS 주변장치 입력 이벤트 관련클래스
// 작 성 자 :
// 변경 이력 :
/*-----------------------------------------------------------------------------------------------*/
namespace Cosmos.Common
{
/// <summary>
/// POS 주변장치 입력 이벤트 관련클래스
/// </summary>
public class PosOLEDevice
{
/// <summary>
/// IC READER 입력 델리게이트
/// </summary>
/// <param name="a"></param>
/// <param name="b"></param>
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
public delegate void DelegateIcReader(int a, StringBuilder b);
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
public delegate void CallbackIc(int returnValue, StringBuilder returnData);
//#20171016 IC리더기 펌웨어 업데이트 Start, srlee
/// <summary>
/// IC 리더기 펌웨어 다운로드 상태 확인
/// </summary>
/// <param name="progress"></param>
/// <param name="total"></param>
/// <returns></returns>
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
public delegate void CallbackRegFunc(int progress, int total);
//#20171016 IC리더기 펌웨어 업데이트 End, srlee
/// <summary>
/// 주변장치 입력 델리게이트
/// </summary>
/// <param name="sDevice">주변장치형태</param>
/// <param name="sData1">데이터1</param>
/// <param name="sData2">데이터2</param>
/// <param name="sData3">데이터3</param>
public delegate void DelegateOlePos(string sDevice, string sData1, string sData2, string sData3);
/// <summary>
/// 델리게이트 선언 변수
/// </summary>
public static DelegateOlePos m_delegateOlePos = null;
/// <summary>
/// 델리게이트 이벤트 핸들 설정
/// </summary>
/// <param name="delegateOPOS"></param>
public static void SetEventHandle(DelegateOlePos delegateOPOS)
{
try
{
m_delegateOlePos = delegateOPOS;
}
catch (Exception ex)
{
UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
"PosOleDevice.SetEventHandle()", "Exception." + ex.Message);
}
}
/// <summary>
/// 델리게이트 이벤트 핸들 해제
/// </summary>
public static void ReleaseEventHandle()
{
try
{
m_delegateOlePos = null;
}
catch (Exception ex)
{
UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
"PosOleDevice.ReleaseEventHandle()", "Exception." + ex.Message);
}
}
}
}