ボックスは変数を複数保持しています。それぞれの変数には型があり、整数または文字列の値をもちます。
struct Box ボックスの実体となる構造体です。 |
enum Box_ 変数の型を表す列挙型です。 |
|
Box_Type_INT 整数を表します。 |
|
Box_Type_STRING 文字列を表します。 |
struct Box * | Box_ ボックスを生成します。 |
int | Box_ 変数に設定されている整数を取得します。 |
int | Box_ 変数に設定されている文字列の参照を取得します。 |
char * | Box_ キーを取得します。 |
int | Box_ 変数の型を取得します。 |
char ** | Box_ 変数名の一覧を取得します。 |
void | Box_ ボックスを解放します。 |
int | Box_ キーをXML向けにエスケープしてタブに出力します。 |
int | Box_ 指定した変数の値をタブに出力します。 |
int | Box_ 指定した変数の値をXML向けにエスケープしてタブに出力します。 |
int | Box_ 指定した変数の値をXMLの要素としてタブに出力します。 |
int | Box_ キーと指定した変数の値をXMLの要素としてタブに出力します。 |
char * | Box_ 指定した変数を属性にもつXMLの要素となる文字列を生成します。 |
char * | Box_ キーと指定した変数を属性にもつXMLの要素となる文字列を生成します。 |
型の詳細は隠蔽されています。
struct Box * Box_create( | const char * key, |
const void * data, | |
size_t size) |
シリアライズされたデータからkeyをキーとするボックスを生成します。
戻り値が参照するオブジェクトはBox_
生成できない場合はNULLを返します。
このメソッドは実装上の都合で公開されているので、アプリケーションは呼び出さないでください。
int Box_getInt( | struct Box * box, |
const char * name, | |
(out) int * value) |
int Box_getString( | struct Box * box, |
const char * name, | |
(out) char ** value) |
成功した場合、*valueが参照するオブジェクトはboxを解放するまで有効です。戻り値が参照するオブジェクトを変更、修正してはなりません。
char * Box_getKey( | struct Box * box) |
戻り値が参照するオブジェクトはboxを解放するまで有効です。戻り値が参照するオブジェクトを変更、修正してはなりません。
int Box_getType( | struct Box * box, |
const char * name, | |
enum Box_ |
変数名がnameの変数の型を取得します。
char ** Box_getNames( | struct Box * box) |
戻り値が参照する配列オブジェクトとその要素のオブジェクトはboxを解放するまで有効です。それらのオブジェクトを変更、修正してはなりません。
取得できない場合はNULLを返します。
使用例を次に示します。
char **names, **p; if ((names = Box_getNames(box)) == NULL) { errx(1, "Box_ getNames() failed."); } for (p = names; *p != NULL; ++p) { printf("name: %s\n", *p); }
void Box_free( | struct Box * box) |
呼び出し後はboxが参照するオブジェクトを参照してはなりません。
このメソッドは実装上の都合で公開されているので、アプリケーションは呼び出さないでください。
int Box_writeKeyXMLEscapedToTub( | struct Box * box, |
struct com_ |
int Box_writeToTub( | struct Box * box, |
const char * name, | |
struct com_ |
変数の型が整数の場合は、その整数を表す文字列をタブに出力します。
int Box_writeXMLEscapedToTub( | struct Box * box, |
const char * name, | |
struct com_ |
変数の型が整数の場合は、その整数を表す文字列をタブに出力します。
int Box_writeXMLElementToTub( | struct Box * box, |
struct com_ |
|
const char * elementName, | |
...) |
XMLの要素をタブに出力します。要素の名前はelementNameになります。その要素の属性にボックスの指定した変数を設定します。
可変長引数にはボックスの変数名を列挙します。最後の引数はNULLでなければなりません。属性の名前は変数の名前に、属性の値は変数の値をXML向けにエスケープしたものになります。
使用例は次のようになります。
Box_writeXMLElementToTub(box, tub, "element", "name1", "name2", NULL); /* タブへの出力は次のようになる: <element name1="値1" name2="値2" /> */
Box_
int Box_writeXMLElementWithKeyToTub( | struct Box * box, |
struct com_ |
|
const char * elementName, | |
const char * keyAttrName, | |
...) |
XMLの要素をタブに出力します。要素の名前はelementNameになります。その要素の属性にボックスのキーと指定した変数を設定します。
可変長引数にはボックスの変数名を列挙します。最後の引数はNULLでなければなりません。属性の名前は変数の名前に、属性の値は変数の値をXML向けにエスケープしたものになります。
使用例は次のようになります。
Box_writeXMLElementWithKeyToTub(box, tub, "element", "key", "name1", "name2", NULL); /* タブへの出力は次のようになる: <element key="キー" name1="値1" name2="値2" /> */
char * Box_createXMLElement( | struct Box * box, |
const char * elementName, | |
...) |
XMLの要素となる文字列を生成して返します。要素の名前はelementNameになります。その要素の属性にボックスの指定した変数を設定します。
可変長引数にはボックスの変数名を列挙します。最後の引数はNULLでなければなりません。属性の名前は変数の名前に、属性の値は変数の値をXML向けにエスケープしたものになります。
生成に失敗した場合はNULLを返します。
成功した場合、戻り値が参照するオブジェクトはfree(3)で解放しなければなりません。
使用例は次のようになります。
char *s = Box_createXMLElement(box, "element", "name1", "name2", NULL); /* sが参照する文字列は次のようになる: <element name1="name1の値" name2="name2の値" /> */
char * Box_createXMLElementWithKey( | struct Box * box, |
const char * elementName, | |
const char * keyAttrName, | |
...) |
XMLの要素となる文字列を生成して返します。要素の名前はelementNameになります。その要素の属性にボックスのキーと指定した変数を設定します。
可変長引数にはボックスの変数名を列挙します。最後の引数はNULLでなければなりません。属性の名前は変数の名前に、属性の値は変数の値をXML向けにエスケープしたものになります。
生成に失敗した場合はNULLを返します。
成功した場合、戻り値が参照するオブジェクトはfree(3)で解放しなければなりません。
使用例は次のようになります。
char *s = Box_createXMLElementWithKey(box, "element", "key", "name1", "name2", NULL); /* sが参照する文字列は次のようになる: <element key="キー" name1="値1" name2="値2" /> */