Scroll to navigation

XrmEnumerateDatabase(3X11) XLIB FUNCTIONS XrmEnumerateDatabase(3X11)

名前

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
Release 6.5 X Version 11