ENV_SetResourceSetArray

構文

#include <nitro/env.h>
void ENV_SetResourceSetArray( ENVResource* array[] );
  

引数

array  リソース配列の配列へのポインタ

返り値

なし。

説明

リソース検索に使用するリソース配列を設定します。

それまでに設定していたリソース配列は全てサーチ対象から外され、ここで指定したもののみになります。

関数内では、array で指定する配列先頭のリソース配列を ENV_SetResourceSet() で設定し、 以降のリソース配列を NULL に出会うまで、ENV_AppendResourceSet() で追加しています。array の最後は NULL で閉じてください。

リソース配列の指定については、ENV_SetResourceSet() を参照してください。

本関数は ENV_Init() から呼び出されています。その際に

SDK_WEAK_SYMBOL ENVResource *resourceArray[] = { NULL };

void ENV_Init(void)
{
    :
 ENV_SetResourceSetArray( resourceArray );
}

というように、WEAK シンボルで定義された resourceArray に対して初期化を行っています。ENV_Init()OS_Init() から呼ばれますので、アプリ側では独自の resourceArray を定義するだけでよいということになります。

(例)
ユーザプログラム では、

ENVResource myResource[] = {
  "test.member", ENV_U32(100),
  ENV_RESOURCE_END
};
ENVResource resourceArray[] = { myResource, NULL };


このように定義するだけ。

もちろんその後に、別のリソース配列を指定しても構いません。

(例)

ENV_SetResourceSetArray( anotherResourceArray );

このようにすると、最初に宣言された resourceArray ではなく、新たに設定したものが使われる。

参照

ENV_Init
ENV_SetResourceSet, ENV_AppendResourceSet

履歴

2009/06/03 OS_Init() が必須になったための記述修正
2008/12/19 例を追加
2005/10/07 初版