interface xdc.runtime.IInstance |
|
|
|
Common instance params
Every module's instance parameter structure contains a pointer to an
IInstance.Params structure named instance. So, every instance
parameter defined in this interface may optionally be set when
creating (or constructing) any module's instances.
interface IInstance { ...
instance: ...
interface IInstance {
instance:
per-instance config parameters
}
config IInstance.name // instance |
|
Name of the instance
config String name = null;
DETAILS
It is possible to "bind" a name to each instance of any module
at the time the instance is created (or constructed).
ModA_Params params;
ModA_Params_init(¶ms);
params.instance->name = "myInstance";
ModA_create(¶ms, NULL);
The name field must be assigned a pointer to a buffer that persists
as long as the instance that it names exists. Only a reference to
the name is retained in the instance, the name is not copied to a
secondary buffer.
The configuration parameters that controls if instance names are
supported is
common$.namedInstance. The parameter is a member of the
structure
common$, available in each
module. By default, this parameter is set to
false, which disables
support for instance names.
Therefore, to enable instance names for a given module
Mod, configure
the module as follows in your configuration script:
var Mod = xdc.useModule('pkg.Mod');
ModA.common$.namedInstance = true;
Here is how the static instances are given names at the configuration
time:
var inst = Mod.create();
inst.instance.name = "myInstance";
At runtime, assign your instance a name:
#include <package/name/Mod.h>
Mod_Params params;
Mod_Params_init(¶ms);
params.instance->name = "myInstance";
Mod_create(¶ms, NULL);
If instances have been configured to not support names, it is still
possible to assign to the instance.name field of the parameter
structure (as shown above). However, the pointer is not retained
and methods that normally return an instance's name will return
NULL instead.
generated on Thu, 27 Sep 2012 23:21:04 GMT