XrmUniqueQuark(3) リソースのクォークを操作する

Other Alias

XrmStringToQuark, XrmPermStringToQuark, XrmQuarkToString, XrmStringToQuarkList, XrmStringToBindingQuarkList

書式

XrmQuark XrmUniqueQuark()

#define XrmStringToName(string) XrmStringToQuark(string) #define XrmStringToClass(string) XrmStringToQuark(string) #define XrmStringToRepresentation(string) XrmStringToQuark(string)

XrmQuark XrmStringToQuark(string)

     char *string;

XrmQuark XrmPermStringToQuark(string)

     char *string;

#define XrmStringToName(string) XrmStringToQuark(string) #define XrmStringToClass(string) XrmStringToQuark(string) #define XrmStringToRepresentation(string) XrmStringToQuark(string)

XrmQuark XrmStringToQuark(string)

     char *string;

XrmQuark XrmPermStringToQuark(string)

     char *string;

#define XrmNameToString(name) XrmQuarkToString(name) #define XrmClassToString(class) XrmQuarkToString(class) #define XrmRepresentationToString(type) XrmQuarkToString(type)

char *XrmQuarkToString(quark)

     XrmQuark quark;

#define XrmStringToNameList(str, name) XrmStringToQuarkList((str), (name)) #define XrmStringToClassList(str,class) XrmStringToQuarkList((str), (class))

void XrmStringToQuarkList(string, quarks_return)

     char *string;

     XrmQuarkList quarks_return;

XrmStringToBindingQuarkList(string, bindings_return, quarks_return)

     char *string;

     XrmBindingList bindings_return;

     XrmQuarkList quarks_return;

引き数

bindings_return
結合リストが返される。
quark
等価な文字列を求める対象であるクォークを指定する。
quarks_return
クォークのリストが返される。
string
割り当てられるクォークかクォークのリストに対する文字列を指定する。

説明

関数 XrmUniqueQuark は、リソースマネージャが認識しているどの文字列も表さないことが保証され るクォークを割り当てる。

これらの関数は、文字列をクォーク表現に変換するために使うことができる。 文字列のエンコーディングがホストポータブル文字エンコーディングでない場 合、変換の動作は実装に依存する。 XrmStringToQuark に渡す引き数 string は、ずっと割り当てられたままの領域である必要はない。 関数 XrmPermStringToQuarkXrmStringToQuark とほぼ同じであるが、引き数 string が割り当てられたままの領域で あることを Xlib が想定してもよい点が異なる。したがって、引き数 string は XrmQuarkToString が返す値として使うことができる。

与えられたクォークについて、 XrmStringToQuark が NULL でない値を返した場合、それ以降の全ての関数呼び出しに対して同じ 値(同一のアドレス)が返される。

これらの関数は、クォーク表現を文字列に変換するために使うことができる。 関数の返り値が指す文字列の変更や解放を行ってはならない。 返される文字列は、文字列をクォークに変換する関数に渡された元の文字列 とバイトのレベルで等しい。 そのクォークに対する文字列が存在しない場合、 XrmQuarkToString は NULL を返す。 与えられたクォークに対して XrmQuarkToString が NULL でない値を返した場合、それ以降の全ての関数呼び出しに対して同じ 値(同一のアドレス)が返される。

これらの関数は、文字列のクォーク表現への変換に使うことができる。 文字列のエンコーディングがホストポータブル文字エンコーディングでない場 合、 変換の動作は実装依存である。 XrmStringToQuark に渡す引き数 string は、ずっと割り当てられたままの領域である必要はない。 関数 XrmPermStringToQuarkXrmStringToQuark とほぼ同じであるが、Xlib が引き数 string が割り当てられたままの領域で あることを想定してもよい点が異なる。したがって、この関数では引き数 string を XrmQuarkToString に返される値として使うことができる。

与えられたクォークについて、 XrmStringToQuark が NULL でない値を返した場合、それ以降の全ての関数呼び出しに対して同じ 値(同一のアドレス)が返される。

関数 XrmStringToQuarkList は NULL で終わる文字列(一般的には完全に限定された名前)をクォークのリス トに変換する。 呼び出し側は、 XrmStringToQuarkList を呼び出す前に、クォークのリストを格納するのに十分なメモリを割り当てて おかなければならない。 この文字列は有効な ResourceName 形式でなければならない(15.1 節を参照)。 この文字列のエンコーディングがホストポータブル文字エンコーディングでな い場合、変換の動作は実装依存である。

結合リストは、 XrmBindingList 型であり、クラスや名前のリストの要素が強くあるいは緩く関連づけされてい る(つまり、ワールドカードを使った中間要素が指定されている)ことを示す。

typedef enum {XrmBindTightly, XrmBindLoosely} XrmBinding, *XrmBindingList;

XrmBindTightly は、ピリオドが要素を区切っていること示す。また、 XrmBindLoosely は、アスタリスクが要素を区切っていることを示す。

関数 XrmStringToBindingQuarkList は、指定した文字列を結合リストとクォークのリストに変換する。 呼び出し側は、 XrmStringToBindingQuarkList を呼び出す前に、クォークのリストと結合リストを格納するのに 十分なメモリを割り当てておかなければならない。 文字列のエンコーディングがホストポータブル文字エンコーディングでない場 合、変換の動作は実装依存である。 リストが含む要素名は、ピリオドかアスタリスクで区切られている。 文字列の最初の文字がピリオドかアスタリスクではない場合は、ピリオドであ るものとして扱われる。 例えば ``*a.b*c'' は次のようになる:

クォーク   a       bc

結合 緩い 強い 緩い