XrmEnumerateDatabase(3X11)

名前
XrmEnumerateDatabase - リソースデータベースのエントリーの列挙

書式
#define |  | 0
#define |  | 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 手続きに渡される、ユーザ指定の引き数を指定。

説明
関数 は、データベースの与えられた名前/クラスのリソースのプレフィックスを補 完したものにマッチする各リソースに対して、指定した手続きを呼び出す。 リソースが見つかる順序は実装依存である。 モードが ならば、リソースは与えられた名前/クラスのプレフィックスで、1つだけの名 前とクラスが追加されているものにマッチしなければならない。モードが ならば、リソースは与えられた名前/クラスのプレフィックスで、1つ以上の名 前とクラスが追加されているものにマッチしなければならない。 手続きが を返した場合に列挙は終了し、関数は を返す。 手続きが常に を返す場合、マッチする全てのリソースは列挙され、関数は を返す。

手続きは次の引き数を使って呼び出される:

(*proc)(database, bindings, quarks, type, value, arg)
    XrmDatabase *database;
    XrmBindingList bindings;
    XrmQuarkList quarks;
    XrmRepresentation *type;
    XrmValue *value;
    XPointer arg;

bindings リストと quarks リストは、 で終わる。 手続きにはデータベースへのポインタと型が渡されるが、これらの値を変更し てはならない点に注意すること。

この手続きはデータベースを変更してはならない。 Xlib がスレッドを初期化した場合、手続きはロックされたデータベースを引き数 にして呼ばれる。このとき、手続きが同一のデータベースを使って Xlib 関 数の呼び出した場合の結果は未定義である。

関連項目
XrmGetResource(3X11), XrmInitialize(3X11), XrmPutResource(3X11)
Xlib - C Language X Interface