次の方法で共有


POS for .NET デバイスの基本クラス (POS for .NET v1.14 SDK ドキュメント)

POS for .NET の各ハードウェア デバイスは、抽象インターフェイス (CashDrawer クラスなど) と基本クラス (CashDrawerBasic など) の両方で表されます。 基本クラスは、基となるインターフェイスから派生し、デバイスの基本的な機能サポートが含まれています。 POS for .NET は、デバイスを開く、要求する、有効にする処理、デバイスの統計情報、アプリケーションへのイベント配信の管理に関する一般的なサポートを提供します。 さらに、各 Basic クラスには、サービス オブジェクトで実装できる継承メソッドと保護メソッドのセットが含まれています。 このトピックでは、より完全に実装されたデバイスの基底クラスを活用するのではなく、デバイスの基本クラスから派生するサービス オブジェクトが使用できる基本クラスについて、概要を説明します。

コンストラクター

基本クラスには、クラスのインスタンスを作成し、UPOS バージョン、デバイス カテゴリ、インストール日の統計情報を初期化するコンストラクターが含まれています。

一般的なプロパティとメソッド

基本クラスには、オーバーライドされた PosCommon プロパティとメソッドの定義が用意されています。 これらのプロパティとメソッドのそれぞれについて、基本クラスは状態確認 (つまり、アプリケーションがデバイスを開いたか、要求したか、有効にしたかの確認) を処理し、そのプロパティまたはメソッドの POS for .NET 実装を呼び出します。 PosCommon クラスの詳細については、「PosCommon」を参照してください。

サービス オブジェクトは CommonProperties クラスを使って、アプリケーションの読み取り専用に指定されている PosCommon プロパティを更新することや、状態確認を気にすることなくこれらのプロパティを更新することができます。

Dispose メソッド

基本クラスには、サービス オブジェクトが使うための 2 つの実装された Dispose メソッドが含まれています。 これらの動作の詳細については、IDisposable クラスに関する .NET Framework ドキュメントを参照してください。

デバイスを開く、要求する、有効にする

基本クラスには、デバイスを開く、要求する、有効にするためのコア機能があります。 ただし、通常、サービス オブジェクトはこれらのメソッドをオーバーライドし、独自のカスタム プロセスを追加しようとします。

サービス オブジェクト開発者のための保護メソッドとイベント

基本クラスには、サービス オブジェクト開発者向けのメソッドとイベントのグループが含まれています。

次の保護されたプロパティは、次のように定義されています。

  • CommonProperties プロパティ。すべての PosCommon プロパティの値を取得および設定する CommonProperties のインスタンスを返します。 状態確認や、プロパティがアプリケーションに対して読み取り専用に指定されているかどうかを気にせずに、サービス オブジェクトは CommonProperties を使ってプロパティを更新できます。
  • ExternallyClaimed プロパティ。サービス オブジェクトはこれを取得して、デバイスの別インスタンスが要求されているかどうかを判断できます (その場合、プロパティは true に設定されます)。
  • ErrorCount プロパティ。 サービス オブジェクトが ErrorCount の値を照会すると、基本クラスはイベント キューを確認し、見つかった ErrorEvent イベント数を集計し、その集計値を ErrorCount の値として返します。
  • DataCount プロパティ。 POS for .NET は、デバイスが開かれたことを確認し、デバイスに対して現在キューに格納されている DataEvent イベント数を返します。

次の保護メソッドが定義されています。

  • StateChangedEvent とデリゲート StateChangedEventHandler (EventArgs クラス)。 サービス オブジェクトはこれらを実装して、デバイスの State プロパティが変化したときに通知を受け取ることができます。
  • デバイスでサポートされているイベントの種類ごとの PreFireEvent 保護メソッド。 各基本クラスには、すぐに戻る PreFireEvent の既定の汎用実装が用意されています。 イベントがアプリケーションに送信される前に、サービス オブジェクトがその内部状態を更新する必要がある場合、サービス オブジェクトは、PreFireEvent の既定の実装をオーバーライドして、該当するイベントの種類に独自の実装を提供することができます。
  • デバイスでサポートされているイベントの種類ごとの QueueEvent 保護メソッド。 サービス オブジェクトはイベント キューにイベントを追加するために QueueEvent を呼び出します。 基本クラスは、デバイスが有効であることを確認してから、イベントをイベント キューに追加してアプリケーションに配信します。 配信の直前に、基本クラスは適切な PreFireEvent を呼び出して、その内部状態を更新する機会をサービス オブジェクトに与えます。 PreFireEvent が戻ると、基本クラスはアプリケーションにイベントを配信します。
  • QueueEventAndWait 保護メソッド。 サービス オブジェクトは QueueEventAndWait を呼び出して ErrorEvent イベントまたは DirectIOEvent イベントをイベント キューに追加します。サービス オブジェクトは、そこからアプリケーションの応答が送られることを想定します。 基本クラスは、デバイスが有効であることを確認してから、イベントをイベント キューに追加し、条件に合うときにアプリケーションに配信します。 配信の直前に、基本クラスは PreFireEvent を呼び出して、その内部状態を更新する機会をサービス オブジェクトに与えます。 PreFireEvent が戻ると、基本クラスはアプリケーションにイベントを配信します。
  • VerifyState メソッド。mustBeClaimedmustBeEnabled という 2 つのブール値を受け取ります。 サービス オブジェクトは、このメソッドの POS for .NET 実装を呼び出して、メソッドまたはプロパティの呼び出しの前に、デバイスに必要な状態確認を実行できます。
  • CreateStatistic メソッド。 サービス オブジェクトは、これらのメソッドを使ってカスタム (つまり製造元固有) の統計情報を作成する必要があります。 POS for .NET は、UPOS で定義されたすべての統計情報の作成と管理を行います。
  • SetStatisticValue および IncrementStatistic メソッドを使うと、リセット可能と定義されていない場合でも、サービス オブジェクトは指定した統計情報値を更新できます (つまり、これらのメソッドは PosCommonResetStatistic(String) および UpdateStatistic(String, Object) メソッドで適用された規則をバイパスします)。
  • SetStatisticHandlers(String, GetStatistic, SetStatistic) メソッド。サービス オブジェクトはこれを使って、ハードウェアベースの統計情報の取得と設定のための外部コールバック関数を提供できます。 get プロパティが定義されていない場合、基本クラスはその統計情報がソフトウェアベースであると想定し、その値は統計情報 XML ファイルに保持されます。 get と set の両プロパティが定義されている場合、統計情報を更新またはリセットする必要があるたびに、基本クラスはこれらの関数を呼び出します。 ハードウェアで統計情報を更新するコードを用意するのは、サービス オブジェクト次第です。
  • ClearInput メソッド。 POS for .NET はデバイスのイベント キューをクリアしてから、サービス オブジェクトの ClearInputImpl メソッドの実装を呼び出します。
  • ClearInputImpl メソッド。 サービス オブジェクトがデバイスのすべてのハードウェア バッファーをクリアするには、このメソッドを実装する必要があります。

参照

その他の参照情報