다음을 통해 공유


PosCommon 클래스(.NET용 POS v1.14 SDK 설명서)

PosCommon은 모든 특정 인터페이스 클래스의 Base 클래스이며 모든 서비스 개체는 이 클래스에서 간접적으로 파생됩니다. PosCommon은 모든 디바이스 클래스에서 UnifiedPOS(Unified Point Of Service) 사양에 필요한 공통적인 속성, 메서드 및 이벤트를 정의합니다.

PosCommon 속성

다음 표에서는 POS 애플리케이션에 사용할 수 있는 PosCommon 클래스의 속성을 설명합니다.

속성 Type 설명
CapCompareFirmwareVersion bool 서비스 개체 및 디바이스가 물리적 디바이스의 펌웨어 버전과 펌웨어 파일의 펌웨어 버전 간 비교를 지원하는지 여부를 나타냅니다.
CapPowerReporting PowerReporting 열거형 디바이스의 전원 보고 기능을 나타냅니다.
CapStatisticsReporting bool 디바이스가 누적되고 사용량과 관련된 다양한 통계를 제공할 수 있는지 여부를 나타냅니다.
CapUpdateStatistics bool true로 설정하면 하나의 업데이트에 대해 ResetStatistic 메서드를 사용하고 업데이트 목록에 대해서는 ResetStatistics 메서드를 사용하여 디바이스 통계의 일부 또는 전체를 0으로 다시 설정할 수 있으며, 또는 하나의 업데이트에 대해 UpdateStatistic 메서드를 사용하고 지정된 해당 값을 가진 업데이트 목록에 대해서는 UpdateStatistics 메서드를 사용하여 디바이스 통계의 일부 또는 전체를 업데이트할 수 있습니다.
CapUpdateFirmware bool UpdateFirmware 메서드를 통해 디바이스의 펌웨어를 업데이트할 수 있는지 여부를 나타냅니다.
CheckHealthText 문자열 디바이스의 상태를 나타냅니다.
Claimed bool 디바이스가 배타적 액세스에 대해 클레임되는지 여부를 나타냅니다.
DeviceDescription 문자열 디바이스 및 디바이스를 제조한 회사를 식별하는 문자열을 포함합니다.
DeviceEnabled bool 디바이스가 작동 상태인지 여부를 나타냅니다.
DeviceName 문자열 UnifiedPOS는 PhysicalDeviceName을 호출합니다. OPOS(OLE for Retail POS)는 DeviceName을 호출합니다.
DevicePath 문자열 플러그 앤 플레이 디바이스의 경우 .NET용 POS에서 설정됩니다. 플러그 앤 플레이 외 디바이스의 경우 구성 파일을 사용하여 DevicePath를 할당할 수 있습니다.
FreezeEvents bool true로 설정하면 애플리케이션에서 서비스 개체가 이벤트를 배달하지 않도록 요청했습니다.
PowerNotify PowerNotification 열거형 애플리케이션에서 선택한 전원 알림 유형을 포함합니다.
PowerState PowerState 열거형 현재 전원 상태를 포함합니다.
ServiceObjectDescription 문자열 디바이스를 지원하는 서비스 개체와 디바이스를 생성한 회사를 식별합니다. 이 속성은 UnifiedPOS 사양에서 DeviceServiceDescription으로 나열됩니다.
ServiceObjectVersion System.Version 서비스 개체 버전 번호를 포함합니다. 이 속성은 UnifiedPOS 사양에서 DeviceServiceVersion으로 나열됩니다.
시스템 상태 ControlState 열거형 디바이스의 현재 상태를 포함합니다.
SynchronizingObject ISynchronizeInvoke POS 이벤트에서 이벤트 처리기 호출에 대한 마샬링 개체를 가져오거나 설정합니다.

PosCommon 메서드

다음 표에서는 애플리케이션에 사용할 수 있는 PosCommon 클래스의 메서드를 설명합니다.

메서드 반환 형식 설명
CheckHealth 문자열 디바이스에서 상태 검사를 수행합니다. 수행할 검사 유형은 HealthCheckLevel 매개 변수로 표시됩니다. 메서드는 CheckHealthText 속성도 업데이트합니다.
클레임 void 디바이스에 대한 배타적 액세스를 요청합니다. 서비스 개체 기록기는 예기치 않은 조건에서만 예외를 throw하는 것이 좋습니다(예를 들면 OutOfMemory). 그렇지 않으면 디바이스가 클레임된 경우 서비스 개체가 True를 반환하고 시간 초과가 발생했다면 False를 반환해야 합니다.
닫기 void 디바이스 및 해당 리소스를 해제합니다.
CompareFirmwareVersion CompareFirmwareResult 지정된 펌웨어 버전이 물리적 디바이스의 펌웨어 버전보다 최신 버전인지, 이전 버전인지 또는 동일한지 여부를 확인합니다.
DirectIO DirectIOData 서비스 개체와 직접 통신하는 데 사용됩니다. UnifiedPOS 사양에는 두 개의 in/out 매개 변수가 있습니다. .NET용 POS에서 사용하는 것처럼 이 메서드는 구조체를 반환하고 in/out 매개 변수를 반환하지 않습니다.
열기 void 후속 입력/출력 처리를 위해 디바이스를 엽니다.
해제 void 디바이스에 대한 배타적 액세스를 해제합니다.
ResetStatistic void 지정한 통계를 0으로 다시 설정합니다. 단일 통계에 대한 작업의 .NET용 POS에서 사용됩니다.
ResetStatistics void 지정된 범주에 대한 모든 통계를 0으로 다시 설정합니다.
ResetStatistics void 지정된 통계를 0으로 다시 설정합니다.
ResetStatistics void 디바이스와 연결된 모든 통계를 0으로 다시 설정합니다.
RetrieveStatistic 문자열 지정된 디바이스 통계를 검색합니다. 단일 통계에 대한 작업의 .NET용 POS에서 사용됩니다.
RetrieveStatistics 문자열 모든 디바이스 통계를 검색합니다.
RetrieveStatistics void 지정된 범주에 대한 통계를 검색합니다.
RetrieveStatistics void 지정된 통계를 검색합니다.
UpdateFirmware void 지정된 파일 이름에 포함된 펌웨어 버전을 사용하여 디바이스의 펌웨어를 업데이트합니다.
UpdateStatistic void 통계를 업데이트합니다. 단일 통계에 대한 작업의 .NET용 POS에 추가됩니다.
UpdateStatistics void 지정된 해당 값을 사용하여 통계 목록을 업데이트합니다.
UpdateStatistics void 지정된 통계 범주를 지정된 값으로 업데이트합니다.

PosCommon Events

다음 표에서는 PosCommon 클래스 이벤트에 대해 설명합니다.

메서드 설명
DirectIOEvent 애플리케이션에 직접 정보를 전달하기 위해 서비스 개체에서 발생합니다.
StatusUpdateEvent 디바이스 상태 변경의 애플리케이션을 경고하기 위해 서비스 개체에서 발생합니다.

다음 코드 예제에서는 모든 서비스 개체에 공통된 속성 및 메서드를 사용하여 연결된 디바이스에 관한 정보를 표시하는 방법을 보여줍니다.

// Create a derived class of PosCommon
public class PosCommonSample: PosCommon
{
    // Implement all base methods and properties.
    // ...
}

// Create instances for the example.
PosExplorer explorer = new PosExplorer();
PosCommonSample pcs = new PosCommonSample();
DeviceInfo device = explorer.GetDevice("MSR");
pcs = (PosCommonSample)explorer.CreateInstance(device);

// Open and claim the device, then print information
// about the device to the console.
pcs.Open();
pcs.Claim(1000);
Console.WriteLine("Name: {0}", pcs.DeviceName);
Console.WriteLine("Description: {0}", pcs.DeviceDescription);
Console.WriteLine("Path: {0}", pcs.DevicePath);
Console.WriteLine("Enabled: {0}", pcs.DeviceEnabled);

pcs.Close();

참고 항목

개념