[[← 40 章に戻る|Palm OS Programmer's API Reference/40]] [[↑トップへ|Palm OS Programmer's API Reference]] [[42 章に進む →|Palm OS Programmer's API Reference/42]] ---- {{anchor top}} この章の索引 *{{goto Overlay Manager Data Structures,オーバレイ マネージャ データ構造体}} **{{goto OmLocaleType,OmLocaleType}} *{{goto Overlay Manager Constants,オーバレイ マネージャ定数}} *{{goto Overlay Manager Functions,オーバレイ マネージャ関数}} **{{goto OmGetCurrentLocale,OmGetCurrentLocale}} **{{goto OmGetIndexedLocale,OmGetIndexedLocale}} **{{goto OmGetNextSystemLocale,OmGetNextSystemLocale}} **{{goto OmGetRoutineAddress,OmGetRoutineAddress}} **{{goto OmGetSystemLocale,OmGetSystemLocale}} **{{goto OmLocaleToOverlayDBName,OmLocaleToOverlayDBName}} **{{goto OmOverlayDBNameToLocale,OmOverlayDBNameToLocale}} **{{goto OmSetSystemLocale,OmSetSystemLocale}} ---- !!!44 オーバレイ マネージャ この章では、ヘッダファイル {{span style='color:blue;font-family:monospace;',OverlayMgr.h}} で定義されているオーバレイ マネージャ API について説明します。以下の内容について説明します。 *{{goto Overlay Manager Data Structures,オーバレイ マネージャ データ構造体}} *{{goto Overlay Manager Constants,オーバレイ マネージャ定数}} *{{goto Overlay Manager Functions,オーバレイ マネージャ関数}} オーバレイ マネージャについての更なる情報は、''Palm OS Programmer's Companion, vol. I'' の[[「リソースローカライズのためのオーバレイの使用」|Palm OS Programmer's Companion Volume I/12-2]]を参照してください。 !!{{anchor Overlay Manager Data Structures}}オーバレイ マネージャ データ構造体 {{goto top,^TOP^}} !{{goto OmLocaleType}}OmLocaleType 構造体 {{goto top,^TOP^}} '''目的''' {{span style='color:blue;font-family:monospace;',OmLocaleType}} 構造体はロケールを指定します。 '''Prototype''' typedef struct { UInt16 language; UInt16 country; } OmLocaleType; '''フィールド''' *{{span style='color:blue;font-family:monospace;',language}} **ロケールの中で話される言語。この値は、{{span style='color:blue;font-family:monospace;',LanguageType}} 定数の 1 つです。 *{{span style='color:blue;font-family:monospace;',country}} **その言語が話されているカントリーまたは地域。この値は、{{span style='color:blue;font-family:monospace;',CountryType}} 定数の 1 つです。 '''互換性''' {{goto 4.0 New Feature Set,4.0 New Feature Set|Palm OS Programmer's API Reference/B}} が満たされる場合に、{{goto LmLocaleType,LmLocaleType}} が {{span style='color:blue;font-family:monospace;',OmLocaleType}} を置き換えます。下位互換性のために、{{span style='color:blue;font-family:monospace;',OmLocaleType}} は {{span style='color:blue;font-family:monospace;',LmLocaleType}} へマッピングされます。 !!{{goto Overlay Manager Constants}}オーバレイ マネージャ定数 {{goto top,^TOP^}} ,定数,値,説明 ,"{{span style='color:blue;font-family:monospace;',omOverlayRscType}}","{{span style='color:blue;font-family:monospace;','ovly'}}",ベース データベースとオーバレイ データベースの両方の中で保持されているオーバレイ リソースの記号的な名前(原文: symbolic name)。 ,"{{span style='color:blue;font-family:monospace;',omOverlayRscID}}",1000,ベース データベースとオーバレイ データベースの両方の中で保持されているオーバレイ リソースのリソース ID。 ,"{{span style='color:blue;font-family:monospace;',omFtrCreator}}","{{span style='color:blue;font-family:monospace;','ovly'}}","{{span style='color:blue;font-family:monospace;',omFtrShowErrorsFlag}} 機能のために使用される作成者値。" ,"{{span style='color:blue;font-family:monospace;',omFtrDefaultLocale}}",1,"ROM に保存されているデフォルトのロケールを指定する機能。デフォルトのロケールは、システムが「分割された」データベース(オーバレイを要求するデータベース)をオープンしようと試みて、かつ、現在のロケールに一致するオーバレイが見つからなかったというケースで、使用されます。このケースでは、システムはデフォルトのロケールに一致するオーバレイを探します。{{goto FtrGet,FtrGet()|Palm OS Programmer's API Reference/34}} と {{goto FtrSet,FtrSet()|Palm OS Programmer's API Reference/34}} を使用してこの値を取得、セットします。" ,"{{span style='color:blue;font-family:monospace;',omFtrShowErrorsFlag}}",2,"オーバレイ マネージャによって表示されるエラー メッセージの数を制御する機能。この機能が {{span style='color:blue;font-family:monospace;',true}} にセットされている場合、オーバレイ マネージャは、オーバレイをそのベース データベースに対して検証しているときに、さらに数個のエラー メッセージを表示するかもしれません。この機能は、エラー チェック レベルが最高にセットされている(デバッグ ROM では一般にそのようになっていて、リリース ROM ではそのようになっていません)場合にのみ、効果を発揮します。{{goto FtrGet,FtrGet()|Palm OS Programmer's API Reference/34}} と {{goto FtrSet,FtrSet()|Palm OS Programmer's API Reference/34}} を使用してこの値を取得、セットします。" !!{{goto Overlay Manager Functions}}オーバレイ マネージャ関数 {{goto top,^TOP^}} !{{anchor OmGetCurrentLocale}}OmGetCurrentLocale 関数 {{goto top,^TOP^}} '''目的''' 現在のロケールを返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',OverlayMgr.h}} '''Prototype''' void OmGetCurrentLocale( LmLocaleType *currentLocale ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',← currentLocale}} **現在のロケールを指定する {{goto LmLocaleType,LmLocaleType|Palm OS Programmer's API Reference/41}} 構造体へのポインタ。 '''返り値''' 返り値はありません。 '''コメント''' この関数は現在のロケールを返します。現在のロケールは、リソース データベースのためにどのオーバレイが使用されるかを制御します。例えば、あるアプリケーションとそれに関連付けされた 2 つのオーバレイをインストールしたとします。1 つのオーバレイは US English のためで、もう 1 つは British English のためのものです。このケースでは、この関数によって返されるロケールの中で指定されているカントリーが {{span style='color:blue;font-family:monospace;',cUnitedKingdom}} である場合、アプリケーションのために British English オーバレイが使用されます。返されるカントリーが {{span style='color:blue;font-family:monospace;',cUnitedStates}} である場合、US English オーバレイが使用されます。 '''互換性''' {{goto 3.5 New Feature Set,3.5 New Feature Set|Palm OS Programmer's API Reference/B}} が満たされる場合にのみ、実装されます。それより前のバージョンの Palm OS で実行させることを意図したコードの中でこの関数を使用するには、PalmOSGlue ライブラリにリンクをはり、{{span style='color:blue;font-family:monospace;',OmGlueGetCurrentLocale}} を呼び出します。更なる情報は、[[第 80 章 「PalmOSGlue ライブラリ」|Palm OS Programmer's API Reference/80]] を参照してください。 '''参照''' {{goto OmGetSystemLocale,OmGetSystemLocale()}} !{{anchor OmGetIndexedLocale}}OmGetIndexedLocale 関数 {{goto top,^TOP^}} '''目的''' インデックスで指定されたシステム ロケールを返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',OverlayMgr.h}} '''Prototype''' Err OmGetIndexedLocale ( UInt16 localeIndex, LmLocaleType *theLocale ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ localeIndex}} **返されるロケールの 0-ベース インデックス *{{span style='color:blue;font-family:monospace;',← theLocale}} **インデックスで指定されたロケールを指定する {{goto LmLocaleType,LmLocaleType|Palm OS Programmer's API Reference/41}} へのポインタ '''返り値''' 成功時には {{span style='color:blue;font-family:monospace;',true}} を返します。インデックスが領域から外れている場合は、{{span style='color:blue;font-family:monospace;',omErrInvalidLocaleIndex}} を返します。 '''コメント''' {{span style='color:blue;font-family:monospace;',OmGetIndexedLocale}} は、システム リソースのためにインストールされたシステム オーバレイがいくつあるのか調べるためのループの中で、使用されます。 {{goto 4.0 New Feature Set,4.0 New Feature Set|Palm OS Programmer's API Reference/B}} が満たされる場合、この関数の代わりに {{goto OmGetNextSystemLocale,OmGetNextSystemLocale()}} を使用します。{{span style='color:blue;font-family:monospace;',OmGetIndexdLocale}} は多くの有効なシステム ロケールを保持している ROM 上では遅くなる可能性があります。 '''互換性''' {{goto 3.5 New Feature Set,3.5 New Feature Set|Palm OS Programmer's API Reference/B}} が満たされる場合にのみ、実装されます。しかしながら、{{goto Palm OS Cobalt Feature Set,Palm OS Cobalt Feature Set|Palm OS Programmer's API Reference/B}} が満たされる場合、この関数は実装されません。 Palm OS 3.5 では、この関数は RAM の中に保存されているシステム オーバレイを返しません。この関数の Palm OS 4.0 バージョンは RAM の中のシステム オーバレイを返します。 '''参照''' {{goto OmGetSystemLocale,OmGetSystemLocale()}}, {{goto OmGetNextSystemLocale,OmGetNextSystemLocale()}} !{{anchor OmGetNextSystemLocale}}OmGetNextSystemLocale 関数 {{goto top,^TOP^}} '''目的''' システム ロケールを返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',OverlayMgr.h}} '''Prototype''' Err OmGetNextSystemLocale ( Boolean iNewSearch, OmSearchStateType *ioStateInfoP, LmLocaleType *oLocaleP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ iNewSearch}} **この関数呼び出しが新しい検索を開始する場合は {{span style='color:blue;font-family:monospace;',true}}、この関数呼び出しが検索の続きである場合は、{{span style='color:blue;font-family:monospace;',false}} *{{span style='color:blue;font-family:monospace;',←→ ioStateInfoP}} **{{span style='color:blue;font-family:monospace;',iNewSearch}} が {{span style='color:blue;font-family:monospace;',false}} の場合、これは前回の検索で使用されたのと同じデータを指さなくてはなりません。 *{{span style='color:blue;font-family:monospace;',← oLocaleP}} **見つかったロケール '''返り値''' エラーが無い場合、{{span style='color:blue;font-family:monospace;',errNone}} を返します。一致するものが見つからなかった場合は、{{span style='color:blue;font-family:monospace;',omErrNoNextSystemLocale}} を返します。 '''コメント''' この関数を続けて呼び出すことにより、システム リソースのためにインストールされているシステム オーバレイがいくつあるのか調べることができます。見つかった各システム オーバレイは個々の有効なシステム ロケールを決定します。この関数によって返されるいずれかのロケールを、システム ロケールを変更するために、{{goto OmSetSystemLocale,OmSetSystemLocale()}} へ送ることができます。 検索を開始するには、{{span style='color:blue;font-family:monospace;',iNewSearch}} に {{span style='color:blue;font-family:monospace;',true}} を渡します。{{span style='color:blue;font-family:monospace;',OmSearchStateType}} 構造体を割り当て、{{span style='color:blue;font-family:monospace;',ioStateInfoP}} としてそれのアドレスを渡します。{{span style='color:blue;font-family:monospace;',OmGetNextSystemLocale}} は {{span style='color:blue;font-family:monospace;',ioStateInfoP}} の中にプライベート情報を保存し、検索が継続される場合はそれを使用します。 前回の検索が終了したところで検索を継続するには、{{span style='color:blue;font-family:monospace;',iNewSearch}} に {{span style='color:blue;font-family:monospace;',false}} を渡し、前回のこの関数呼び出しで使用したのと同じ {{span style='color:blue;font-family:monospace;',ioStateInfoP}} を渡します。 呼び出しが続けられた場合、この関数は結果的に ROM または RAM の中にあるすべてのシステム オーバレイを返します。 '''互換性''' {{goto 4.0 New Feature Set,4.0 New Feature Set|Palm OS Programmer's API Reference/B}} が満たされる場合にのみ、実装されます。しかしながら、{{goto Palm OS Cobalt Feature Set,Palm OS Cobalt Feature Set|Palm OS Programmer's API Reference/B}} が満たされる場合、この関数は実装されません。 !{{anchor OmGetRoutineAddress}}OmGetRoutineAddress 関数 {{goto top,^TOP^}} '''目的''' オーバレイ マネージャ関数のアドレスを返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',OverlayMgr.h}} '''Prototype''' void *OmGetRoutineAddress ( OmSelector inSelector ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ inSelector}} **{{span style='color:blue;font-family:monospace;',OverlayMgr.h}} の中で定義されているルーチン セレクタの 1 つ '''返り値''' 対応する関数のアドレスを返します。無効なルーチン セレクタが渡された場合は、{{span style='color:blue;font-family:monospace;',NULL}} を返します。 '''コメント''' 通常、この関数を、デバイス上にあるオーバレイ マネージャ関数が存在するかどうか調べるために、使用します。Palm OS の将来のリリースは新しい関数を追加するため、前のバージョンのオーバレイ マネージャを持つ古いデバイスは、それらの新しい関数を実装していないかもしれません。{{span style='color:blue;font-family:monospace;',OmGetRoutineAddress}} が {{span style='color:blue;font-family:monospace;',NULL}} を返す場合、その関数は使用できません。 '''互換性''' {{goto 3.5 New Feature Set,3.5 New Feature Set|Palm OS Programmer's API Reference/B}} が満たされる場合にのみ、実装されます。 '''参照''' {{goto IntlGetRoutineAddress,IntlGetRoutineAddress()|Palm OS Programmer's API Reference/60}}, {{goto SysGetTrapAddress,SysGetTrapAddress()|Palm OS Programmer's API Reference/54}} !{{anchor OmGetSystemLocale}}OmGetSystemLocale 関数 {{goto top,^TOP^}} '''目的''' システム ロケールを返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',OverlayMgr.h}} '''Prototype''' void OmGetSystemLocale( LmLocaleType *systemLocale ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',← systemLocale}} **システム ロケールを指定する {{goto LmLocaleType,LmLocaleType|Palm OS Programmer's API Reference/41}} 構造体へのポインタ '''返り値''' 返り値はありません。 '''コメント''' 通常、この関数を使用することはありません。代わりに、どのオーバレイが使用されるのかを決定するロケールを返す {{goto OmGetCurrentLocale,OmGetCurrentLocale()}} を使用します。 システム ロケールはストレージ ヒープ ヘッダの中に保存され、ソフト リセットがかかっても維持されます。デバイスがリセットされるとき、システム ロケールは現在のロケールをセットするために使用されます。 '''互換性''' {{goto 3.5 New Feature Set,3.5 New Feature Set|Palm OS Programmer's API Reference/B}} が満たされる場合にのみ、実装されます。それより前のバージョンの Palm OS で実行させることを意図したコードの中でこの関数を使用するには、PalmOSGlue ライブラリにリンクをはり、{{span style='color:blue;font-family:monospace;',OmGlueGetSystemLocale}} を呼び出します。更なる情報は、[[第 80 章 「PalmOSGlue ライブラリ」|Palm OS Programmer's API Reference/80]] を参照してください。 '''参照''' {{goto OmGetCurrentLocale,OmGetCurrentLocale()}}, {{goto LmGlueGetSystemLocale,LmGlueGetSystemLocale()|Palm OS Programmer's API Reference/80}} !{{anchor OmLocaleToOverlayDBName}}OmLocaleToOverlayDBName 関数 {{goto top,^TOP^}} '''目的''' 与えられたベース データベース名とロケールから、オーバレイ データベースの名前を返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',OverlayMgr.h}} '''Prototype''' Err OmLocaleToOverlayDBName( const Char *baseDBName, const LmLocaleType *targetLocale, Char *overlayDBName ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ baseDBName}} **オーバレイに関連付けられたベース リソース データベースの名前 *{{span style='color:blue;font-family:monospace;',→ targetLocale}} **このオーバレイが適用されるロケール。{{goto LmLocaleType,LmLocaleType|Palm OS Programmer's API Reference/41}} を参照してください。現在のロケールを使用するためには {{span style='color:blue;font-family:monospace;',NULL}} を渡します。 *{{span style='color:blue;font-family:monospace;',← overlayDBName}} **ベース データベース名とターゲット ロケールを与えられたオーバレイ データベース。このバッファは少なくとも {{span style='color:blue;font-family:monospace;',dmDBNameLength}} バイトなけらばなりません。 '''返り値''' 成功時には {{span style='color:blue;font-family:monospace;',errNone}} を返します。{{span style='color:blue;font-family:monospace;',targetLocale}} パラメータが無効の場合は、{{span style='color:blue;font-family:monospace;',omErrUnknownLocale}} を返します。 '''コメント''' 適切なオーバレイ データベース名は現在のところ: {{span style='color:blue;font-family:monospace;font-style:italic;',baseDBName_llCC}} ここで: *{{span style='color:blue;font-family:monospace;font-style:italic;',baseDBName}} **渡したベース データベースの名前 *{{span style='color:blue;font-family:monospace;font-style:italic;',ll}} **言語を指定する 2 文字のコード *{{span style='color:blue;font-family:monospace;font-style:italic;',CC}} **カントリーを指定する 2 文字のコード ベース データベース名は、この接尾辞のために必要があれば、切り詰められます。 例えば、ベース データベース "MemoPad" は、US English のための "MemoPad_enUS" という名前のオーバレイを持つかもしれません。 '''互換性''' {{goto 3.5 New Feature Set,3.5 New Feature Set|Palm OS Programmer's API Reference/B}} が満たされる場合にのみ、実装されます。 '''参照''' {{goto OmOverlayDBNameToLocale,OmOverlayDBNameToLocale()}} !{{anchor OmOverlayDBNameToLocale}}OmOverlayDBNameToLocale 関数 {{goto top,^TOP^}} '''目的''' 名前が与えられたオーバレイ データベースのロケールを返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',OverlayMgr.h}} '''Prototype''' Err OmOverlayDBNameToLocale( const Char *overlayDBName, LmLocaleType *overlayLocale ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ overlayDBName}} **オーバレイ データベースの名前 *{{span style='color:blue;font-family:monospace;',← overlayLocale}} **オーバレイのロケールを指定する {{goto LmLocaleType,LmLocaleType|Palm OS Programmer's API Reference/41}} 構造体へのポインタ '''返り値''' 成功時には {{span style='color:blue;font-family:monospace;',errNone}} を返します。文字列 {{span style='color:blue;font-family:monospace;',overlayDBName}} がロケール接尾辞を持つにはもはや十分でない場合は、{{span style='color:blue;font-family:monospace;',omErrBadOverlayDBName}} を返し、また、ロケールを決定できない場合は、{{span style='color:blue;font-family:monospace;',omErrUnknownLocale}} を返します。 '''参照''' {{goto OmLocaleToOverlayDBName,OmLocaleToOverlayDBName()}} !{{anchor OmSetSystemLocale}}OmSetSystemLocale 関数 {{goto top,^TOP^}} '''目的''' システム ロケールをセットし、デバイスをリセットします。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',OverlayMgr.h}} '''Prototype''' Err OmSetSystemLocale( const LmLocaleType *systemLocale ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ systemLocale}} **システムを切り替えるロケールを指定する {{goto LmLocaleType,LmLocaleType|Palm OS Programmer's API Reference/41}} 構造体 '''返り値''' 成功時には {{span style='color:blue;font-family:monospace;',errNone}} を返します。エラーが起きた場合は、以下の 1 つを返します。 *{{span style='color:blue;font-family:monospace;',omErrUnknownLocale}} **{{span style='color:blue;font-family:monospace;',systemLocale}} のためのシステム オーバレイがありません。 *{{span style='color:blue;font-family:monospace;',omErrInvalidLocale}} **{{span style='color:blue;font-family:monospace;',systemLocale}} のためのシステム オーバレイは見つかりましたが、無効です。 *{{span style='color:blue;font-family:monospace;',dmErrInvalidParam}} **オーバレイをオープンする間にメモリ エラーが起こりました。 *{{span style='color:blue;font-family:monospace;',dmErrDatabaseOpen}} **システム オーバレイはすでにオープンされています。 '''コメント''' この関数はシステム ロケールを指定されたロケール(もしそれがあれば)に変更します。最初に要求されたロケールのためのシステム ロケールが存在するかどうかを決定し、ベース システム データベースを照合します。そうであれば、ストレージ ヒープ ヘッダの中に保存されるシステム ロケール情報を更新し、デバイスをリセットします。デバイスのリセット後は、現在のロケールはそのシステム ロケールにセットされています。 Palm デバイスは ROM の中にハード-コードされたデフォルトのロケールを持ちます。このロケールは、ハード リセット後、または、ストレージ ヒープ ヘッダが無効である場合いつでも、システム ロケールをセットするために使用されます。ストレージ ヒープ ヘッダは、通常、最初にデバイスが ON になったときにのみ、無効です。 '''互換性''' {{goto 3.5 New Feature Set,3.5 New Feature Set|Palm OS Programmer's API Reference/B}} が満たされる場合にのみ、実装されます。しかしながら、{{goto Palm OS Cobalt Feature Set,Palm OS Cobalt Feature Set|Palm OS Programmer's API Reference/B}} が満たされる場合、この関数は実装されません。 Palm OS 3.5 では、この関数は RAM の中に位置するシステム オーバレイを切り替えません。この関数の Palm OS 4.0 バージョンは RAM の中に位置するシステム オーバレイを返します。 '''参照''' {{goto OmGetSystemLocale,OmGetSystemLocale()}} ---- [[← 40 章に戻る|Palm OS Programmer's API Reference/40]] [[↑トップへ|Palm OS Programmer's API Reference]] [[42 章に進む →|Palm OS Programmer's API Reference/42]]