4.3.1 IDLコンパイラが作成するファイル
- 〈この項の構成〉
(1) C++の場合
idl2cppコンパイラはBank.idlファイルから次の四つのファイルを生成します。
- Bank_c.hh
-
AccountおよびAccountManagerクラスの定義を含みます。
- Bank_c.cpp
-
クライアントが使用する内部スタブルーチンを含みます。
- Bank_s.hh
-
AccountPOAおよびAccountManagerPOAサーバントクラスの定義を含みます。
- Bank_s.cpp
-
サーバが使用する内部ルーチンを含みます。
ユーザはBank_c.hhファイルとBank_c.cppファイルを使用してクライアントアプリケーションを構築します。Bank_s.hhファイルとBank_s.cppファイルはサーバオブジェクトを構築するために使用します。生成されたファイルとソースファイルとを区別するために,生成されたファイルにはすべて.cppか.hhという拡張子が付けられます。
- Windows
-
idl2cppコンパイラから生成されたファイルのデフォルトの拡張子は.cppですが,Borland Enterprise Server VisiBrokerの例に対応するMakefileは,-src_suffixを使用して,出力を指定の拡張子に変更します。
(2) Javaの場合
Javaでは,ファイルごとに一つのパブリックインタフェースまたはクラスだけ使用できるので,IDLファイルをコンパイルすると複数の.javaファイルを生成します。このようなファイルは生成されたBankというサブディレクトリに格納されます。BankディレクトリはIDLで指定されたモジュール名であり,生成済みのファイルが属するパッケージです。生成される.javaファイルのリストを次に示します。
- _AccountManagerStub.java
-
クライアント側のAccountManagerオブジェクトのスタブコードです。
- _AccountStub.java
-
クライアント側のAccountオブジェクトのスタブコードです。
- Account.java
-
Accountインタフェース宣言です。
- AccountHelper.java
-
ユーティリティメソッドを定義するAccountHelperクラスを宣言します。
- AccountHolder.java
-
Accountオブジェクトを渡すためのホルダを提供するAccountHolderクラスを宣言します。
- AccountManager.java
-
AccountManagerインタフェース宣言です。
- AccountManagerHelper.java
-
ユーティリティメソッドを定義するAccountManagerHelperクラスを宣言します。
- AccountManagerHolder.java
-
AccountManagerオブジェクトを渡すためのホルダを提供するAccountManagerHolderクラスを宣言します。
- AccountManagerOperation.java
-
このインタフェースは,Bank.idlファイルでAccountManagerインタフェースに定義されたメソッドシグニチャを宣言します。
- AccountManagerPOA.java
-
サーバ側のAccountManagerオブジェクトインプリメンテーション用のPOAサーバンドコード(インプリメンテーションベースコード)です。
- AccountManagerPOATie.java
-
サーバ側のAccountManagerオブジェクトをtie機能を使用してインプリメントするためのクラスです。tie機能の詳細については,「9. tie機能の使用」を参照してください。
- AccountOperations.java
-
このインタフェースは,Bank.idlファイルでAccountインタフェースに定義されたメソッドシグニチャを宣言します。
- AccountPOA.java
-
サーバ側のAccountオブジェクトインプリメンテーション用のPOAサーバンドコード(インプリメンテーションベースコード)です。
- AccountPOATie.java
-
サーバ側のAccountオブジェクトをtie機能を使用してインプリメントするためのクラスです。tie機能の詳細については,「9. tie機能の使用」を参照してください。
Helperクラス,Holderクラス,およびOperationsクラスの詳細については,マニュアル「Borland Enterprise Server VisiBroker プログラマーズリファレンス」の「生成されるインタフェースとクラス(Java)」の記述を参照してください。