using System;
using System.Text;
using System.Runtime.InteropServices;
using Cosmos.UserFrame;
/*-----------------------------------------------------------------------------------------------*/
// 설 명 : POS 주변장치 입력 이벤트 관련클래스
// 작 성 자 :
// 변경 이력 :
/*-----------------------------------------------------------------------------------------------*/
namespace Cosmos.Common
{
///
/// POS 주변장치 입력 이벤트 관련클래스
///
public class PosOLEDevice
{
///
/// IC READER 입력 델리게이트
///
///
///
[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
///
/// IC 리더기 펌웨어 다운로드 상태 확인
///
///
///
///
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
public delegate void CallbackRegFunc(int progress, int total);
//#20171016 IC리더기 펌웨어 업데이트 End, srlee
///
/// 주변장치 입력 델리게이트
///
/// 주변장치형태
/// 데이터1
/// 데이터2
/// 데이터3
public delegate void DelegateOlePos(string sDevice, string sData1, string sData2, string sData3);
///
/// 델리게이트 선언 변수
///
public static DelegateOlePos m_delegateOlePos = null;
///
/// 델리게이트 이벤트 핸들 설정
///
///
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);
}
}
///
/// 델리게이트 이벤트 핸들 해제
///
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);
}
}
}
}