XrmEnumerateDatabase -
リソースデータベースのエントリーを列挙する
#define |
XrmEnumAllLevels |
0 |
#define |
XrmEnumOneLevel |
1 |
Bool XrmEnumerateDatabase( database, name_prefix, class_prefix, mode, proc, arg)
XrmDatabase database;
XrmNameList name_prefix;
XrmClassList class_prefix;
int mode;
Bool (* proc)();
XPointer arg;
引き数¶
- database
- リソースデータベースを指定する。
- name_prefix
- リソース名のプレフィックスを指定する。
- class_prefix
- リソースクラスのプレフィックスを指定する。
- mode
- 列挙するレベルの数を指定する。
- proc
- マッチしたエントリーのそれぞれに対して呼ばれる手続きを指定する。
- arg
- 手続きに渡される、ユーザ指定の引き数を指定する。
関数
XrmEnumerateDatabase
は、データベースの与えられた名前/クラスのリソースのプレフィックスを補
完したものにマッチする各リソースに対して、指定した手続きを呼び出す。
リソースが見つかる順序は実装依存である。
モードが
XrmEnumOneLevel
ならば、リソースは与えられた名前/クラスのプレフィックスで、1つだけの名
前とクラスが追加されているものにマッチしなければならない。モードが
XrmEnumAllLevels
ならば、リソースは与えられた名前/クラスのプレフィックスで、1つ以上の名
前とクラスが追加されているものにマッチしなければならない。
手続きが
True
を返した場合に列挙は終了し、関数は
True を返す。
手続きが常に
False
を返す場合、マッチする全てのリソースは列挙され、関数は
False を返す。
手続きは次の引き数を使って呼び出される:
(* proc)(database, bindings, quarks, type, value, arg)
XrmDatabase * database;
XrmBindingList bindings;
XrmQuarkList quarks;
XrmRepresentation * type;
XrmValue * value;
XPointer arg;
引き数の bindings リストと
quarks リストは、
NULLQUARK
で終わる。
手続きにはデータベースへのポインタと型が渡されるが、これらの値を変更し
てはならない点に注意すること。
この手続きはデータベースを変更してはならない。
Xlib
がスレッドを初期化した場合、手続きはロックされたデータベースを引き数
にして呼ばれる。このとき、手続きが同一のデータベースを使って
Xlib 関
数を呼び出した場合の結果は未定義である。
関連項目¶
XrmGetResource(3X11), XrmInitialize(3X11), XrmPutResource(3X11)
Xlib - C Language X Interface