ジェネレーターのルール
最上位モジュールで指定されたデバイスは、生成されたアプリケーションを含む親デバイスの下にマウントされます。最上位のデバイスは作成されません。
親デバイス ID が指定されていない場合は、一致する最も若い親デバイスが新しい親オブジェクトとして使用されます。子モジュールがデバイスを作成する場合、可能であれば、そのデバイスは親モジュールのデバイス内に作成されます。直接の親モジュールにデバイスがまったくない場合、または子デバイスの下に適合するデバイスを作成しない場合は、親-親モジュールのデバイスが使用されます。作成された使用可能な親デバイスがそれ以上ない場合は、試行が行われます。トップレベルに入るには、それぞれのトップレベルモジュールのデバイスを生成します。親モジュール オブジェクトによって複数のデバイスが提供される場合、作成されるデバイスが適合する最初のデバイスが使用されます。
こちらも参照 サブセクション: デバイス
作成したデバイスの名前は「デバイスID + モジュール名 + デバイス」となります。この名前がすでにデバイスで使用されている場合は、昇順の番号が追加されます。
すでに作成されているデバイスは、再生成時に削除されずに保持されるため、デバイスに設定した内容は可能な限り保持されます。
さらに、モジュール宣言を使用して追加または変更されたパラメータは、生成実行ごとに生成中に対応するデバイスに割り当てられます。
Composer によって作成されたすべてのオブジェクトと同様に、作成されたデバイスもデバイス ツリー内でマークされます。このようなデバイスを変更または削除しようとすると、警告が表示されます。この警告は、たとえば、変更後にモジュール構造が再生成された場合、デバイス設定への変更が失われる可能性があるという事実に注意を促します。
デバイスの挿入時に子デバイスとして自動的に作成されるデバイスは、実際に挿入されたデバイスのモジュール インスタンスの下に分類されます。これらは、モジュール宣言に現れ、挿入されたデバイスの子としてモジュール宣言に登録されたかのように扱われます。子デバイスは再作成も削除もされませんが、親デバイスに関連してのみ表示されます。
デバイスに明示的なコネクタがある場合、別のデバイスとの互換性チェック中に暗黙的なコネクタであるかのように扱われます。これは、最初にすべてのコネクタ (明示的および暗黙的) がデバイスへの接続の対象として考慮され、次に適合するコネクタが接続に使用されることを意味します。デバイス オブジェクトの下で暗黙的に、または独自の親オブジェクトとして明示的に。