- 追加された行はこのように表示されます。
- 削除された行は
このように表示されます。
[[← 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]]