ホスト・アクセス・クラス・ライブラリー C++

この C++ クラス・ライブラリーは、ホスト接続をオブジェクト指向によって抽象化したものを完全な形で提供します。それには、ホスト表示スペース (画面) での読み書き、画面上のフィールドのエミュレーション、状況情報についてのオペレーター標識域 (OIA) の読み取り、ビジュアル・エミュレーター・ウィンドウに関する情報のアクセスと更新、ファイルの転送、および重要イベントの非同期通知の実行が含まれます。クラス・ライブラリーは、 Microsoft Visual C++ コンパイラーをサポートしています。

ホスト・アクセス・クラス・ライブラリーの C++ 層は、クラス階層に配置された多数の C++ クラスで構成されています。図 1 は、ホスト・アクセス・クラス・ライブラリーの C++ 層の C++ 継承階層を示しています。この図では、すべてのオブジェクトは、それぞれすぐ上のクラスから継承します。

図 1. ホスト・アクセス・クラス・オブジェクト
ホスト・アクセス・クラス・ライブラリーのクラス・ライブラリー・オブジェクト構造を表示します。

また、図 1 は、各クラスのすべてのメンバー関数も 示しています。各クラスについて示されている関数に加え、それぞれのクラスは 親クラスの関数をすべて継承していることに注意してください。例えば、 関数 IsReady() は、ECLSession、 ECLPS、ECLOIA、ECLWinMetrics、 および ECLXfer クラスでも使用できます。

各クラスについて、以下のセクションで簡潔に説明します。詳細については、この章の各クラスの説明を参照してください。

この章の例はすべて、ECLSAMPS.CPP ファイルにあります。このファイルを使用して、 サポートされているコンパイラーでサンプルをコンパイルしたり、実行したりできます。

以下に、ホスト・アクセス・クラス・ライブラリー C++ クラスについて概説します。各クラス名は、 ホスト・アクセス・クラス・ライブラリーの共通の接頭部である ECL で始まります。

  • ECLBase (ECLBase クラス ページ) は、 すべての ECL オブジェクトの基本クラスです。これは、接続名やハンドルの変換などの特定の基本ユーティリティー ・メソッドを提供します。すべての ECL オブジェクトはこのクラスを継承するため、 これらのメソッドはどの ECL メソッドでも使用することができます。
  • ECLConnection (ECLConnection クラス ページ) は、単一の Z and I Emulator for Windows 接続を表し、接続状況、接続タイプ (例えば、3270 や 5250)、および接続名と接続ハンドルなどの接続情報を含んでいます。またこのクラスは、ECLPS や ECLOIA などの接続別の ECL オブジェクトすべての 基本クラスでもあります。
  • ECLConnList (ECLConnList クラス ページ) には、 オブジェクトが作成されたときまたは最後に Refresh メソッドが呼び出されたときに存在していた、すべての Z and I Emulator for Windows 接続のリストが入っています。それぞれの接続は、ECLConnection オブジェクトによって 表されます。
  • ECLConnMgr (ECLConnMgr クラス ページ) は、ECLConnList オブジェクトを使用する現在稼働中のすべて Z and I Emulator for Windows 接続 (ウィンドウ) を列挙します。またこれは、新たに接続を開始または停止するためのメソッドも提供します。
  • ECLCommNotify (ECLCommNotify クラス ページ) は、 ホストへの接続が切断されたり接続されたりするたびに、通知を受け取るために アプリケーションで使用できる通知クラスです。これは、接続の状況をモニターして、 接続が不意に切断されたときにアクションをとるのに使用することができます。
  • ECLErr (ECLErr クラス ページ) は、 ホスト・アクセス・クラス・ライブラリー・クラスから実行時エラー情報を戻すためのメソッドを提供します。
  • ECLField (ECLField クラス ページ) には、 フィールド属性、フィールド・カラー、画面上の位置、 または長さなどの、画面上の単一のフィールドについての情報が入っています。入力フィールドを更新するためのメソッドも提供されます。
  • ECLFieldList (ECLFieldList クラス ページ) に は、ECLField オブジェクトの集合が入っています。Refresh メソッドを呼び出すと、 現行ホスト画面が検査され、フィールド・リストが抽出され、 それを使用して ECLField オブジェクトのリストが作成されます。アプリケーションは、この集合を使うことにより、 リストそのものを作成しなくてもフィールドを管理することができます。
  • ECLKeyNotify (ECLKeyNotify クラス ページ) は、 キー・ストローク・イベントについて通知を受けるためにアプリケーション が使用できる通知クラスです。アプリケーションは、キー・ストロークをフィルター処理 (除去) したり、 他のキー・ストロークに置換したり、廃棄したりできます。
  • ECLListener (ECLListener クラス ページ) は、 すべての新規 HACL イベント・リスナー・オブジェクトの基本クラスです。これは、 すべてのリスナー・オブジェクトに共通の機能を提供します。
  • ECLOIA (ECLOIA クラス ページ) によって、シフト標識、 入力禁止状態、通信エラーなど、オペレーター状況の情報へアクセスできます。
  • ECLOIANotify (ECLOIANotify クラス ページ) は、 抽象基本クラスです。アプリケーションはこのクラスから派生したオブジェクトを 作成して、OIA の変更の通知を受け取ります。
  • ECLPS (ECLPS クラス ページ) は、 単一の接続の表示スペース (画面) を表します。これは、データ・プレーンの形式で画面内容のコピーを取得するためのメソッドを含んでいます。各プレーンは、テキスト、フィールド属性、およびカラー属性など、表示スペース特定の側面を表します。表示スペース内のストリングを検索したり、 キー・ストロークをホストに送信したり、ホスト・カーソル位置を取得および設定するため、 さらにその他の多くの機能のためのメソッドが提供されます。また、画面上のフィールド・リストを列挙するのに使える ECLFieldList オブジェクトも提供されます。
  • ECLPSEvent (ECLPSEvent クラス ページ) は、 表示スペースが更新されたときに PS イベント・リスナーに渡される イベント・オブジェクトです。これには、更新の理由および画面の更新個所を含んだ イベントについての情報が入っています。
  • ECLPSListener (ECLPSListener クラス ページ) は、 抽象基本クラスです。アプリケーションはこのクラスから派生したオブジェクトを 作成して、ECLPSEvent オブジェクトにより提供されるすべての情報を使用して 表示スペース更新イベントを受信します。
  • ECLPSNotify (ECLPSNotify クラス ページ) は、 抽象基本クラスです。アプリケーションはこのクラスから派生したオブジェクトを 作成して、最少の情報を使用して表示スペース更新の通知を受信します。
  • ECLRecoNotify (ECLRecoNotify クラス ページ) は、 抽象基本クラスです。アプリケーションはこのクラスから派生したオブジェクトを 作成して、画面認識の通知を受信します。
  • ECLScreenDesc (ECLScreenDesc クラス ページ) は、 単一のホスト画面を記述するのに使用するクラスです。このとき、画面記述クラス・オブジェクト を使用して、この記述されたホスト画面が表示されるときにイベントを起動したり、あるいは 特定のホスト画面を同期して待機します。
  • ECLScreenReco (ECLScreenReco クラス ページ) は、 画面説明オブジェクトのセットを収集したり、収集された画面のいずれか が表示スペースに表示されるときに非同期イベントを生成するのに 使用されるクラスです。
  • ECLSession (ECLSession クラス ページ) には、 すべての接続固有オブジェクトの集合が入っています。ECLSession を使うと、特定の接続用の完全セットのオブジェクトを簡単に作成することができます。
  • ECLStartNotify (ECLStartNotify クラス ページ) は、 接続の開始時または停止時に必ず通知を受けられるようにするために アプリケーションが使用できる通知クラスです。これは、システム状況をモニターして、接続が不意にクローズされたときに アクションをとるために使用することができます。
  • ECLUpdateNotify (ECLUpdateNotify クラス ページ) は、 ホスト画面または OIA が更新されるたびに通知を受けられるようにする ためにアプリケーションが使用できる通知クラスです。
  • ECLWinMetrics (ECLWinMetrics クラス ページ) は、 エミュレーションが実行される物理ウィンドウを表示します。ウィンドウの状態 (最小化、最大化、元のサイズに戻す)、ウィンドウ・サイズ、 および可視属性を取得および設定するためのメソッドが提供されます。
  • ECLXfer (ECLXfer クラス ページ) は、 ホストとの間での接続を介したファイルのやりとりを開始します。
  • ECLPageSettings (ECLPageSettings クラス ページ) は、エミュレーター・セッションの「ファイル」>「ページ設定」ダイアログの設定を制御および検索します。
  • ECLPrinterSettings (ECLPrinterSettings クラス ページ) は、エミュレーター・セッションの「ファイル」>「プリンター設定」ダイアログの設定を制御および検索します。