AIDA_tstParam

The AIDA_tstParam structure contains information about a specific parameter of an AIDA component.

typedef struct {
    const xchar             *xsParamName;
    AIDA_tenParamType        enParamType;
    AIDA_tenParamAttrib      enParamAttrib;
    byte                      bParamFlags;
    byte                      bCacheInfo;
    byte                      bReserved[1];
    byte                      bVisualization;
    AIDA_tunParamVal         unParamVal;
    AIDA_tstValListEntry   *pstParamValList;
} AIDA_tstParam;

Members

xsParamName
The name of the parameter plus optional fields containing additional information. This member consists of one or more concatenated C-strings that are separated by a single '\0' character and are finally terminated by a double '\0' character, e. g. "Bitrate\000Unit: [ms]\0" (the second '\0' character is being added by the compiler). At the moment two fields are defined: The first field contains the name of the parameter, the second field if present contains a comment.
enParamType
The parameter type as described for AIDA_tenParamType.
enParamAttrib
The attribute defines under which circumstances the parameter is changeable as described for AIDA_tenParamAttrib.
bParamFlags
This member contains flags with additional information depending on enParamAttrib and the current state of the AIDA stack. The flags are splitted into static flags and dynamic flags. For each group a mask is defined:
AIDA_nParamVariableFlags
AIDA_nParamStaticFlags
AIDA_nParamVariableFlags can be used to get the changeable flags. Possible values for these are:

AIDA_nParamChangeable
AIDA_nParamDontSave
AIDA_nParamDontEdit

AIDA_nParamChangeable is set when the given parameter currently may be changed. The status of this flag depends on the status of the stack and gives the application an easy means to check whether a parameter may be changed without knowing the status of the whole stack.

AIDA_nParamDontSave is set when the given parameter is not to be saved by AIDA_boSaveStack. This flag may be set when the given parameter is controlled by another component that is a member of the stack.

AIDA_nParamDontEdit is set when the given parameter shall not be modified by the application. This flag may be set when the given parameter is configured by another component that is a member of the stack.

AIDA_nParamStaticFlags can be used to get the static flags. Possible values for these are:

AIDA_nParamAttachable

AIDA_nParamAttachable is set when the given parameter can be used in parameter attachments (see AIDA_boAttachParam for details).

bCacheInfo
This member contains flags with additional information depending on the current state of the AIDA stack and/or the given parameter. These flags are important within any kind of network component when accessing remote components (e. g. components behind a NETClient component). An AIDA application does not need to take care of these flags. The following flags are defined:

AIDA_nParamDirty
AIDA_nParamListDirty
AIDA_nStackDirty

AIDA_nParamDirty will be set whenever a parameter has been changed.

AIDA_nParamListDirty will be set for the first parameter of a parameter list whenever the list has been changed (e. g. parameters have been added or removed).

AIDA_nStackDirty will be set for the first parameter of a parameter list in every stack level whenever the stack structure has been changed (e. g. components have been added or removed).

These flags are used by any kind of network component to decide which parts of the stack handle structure has to be retrieved to get the local copy synchronized with the remote stack handle structure.

bVisualization
This member contains flags with additional information for setup and configuration tools. A configuration tool can select it's visualization (hex, dec, bitfield) depending on these flags. Possible values are:

AIDA_nPreferNone
AIDA_nPreferDec
AIDA_nPreferHex
AIDA_nPreferBin

AIDA_nPreferNone is set when there are no preferred visualization modes for the given parameter (normally set for AIDA_nenString and AIDA_nenReal.

AIDA_nPreferDec is set when the given parameter shall be shown as decimal number.

AIDA_nPreferHex is set when the given parameter shall be shown as hexadecimal number.

AIDA_nPreferBin is set when the given parameter shall be shown as bitfield.

unParamVal
This structure of the type AIDA_tunParamVal contains the current value of the parameter.
pstParamValList
This member points to the first element of a linked list of AIDA_tstValListEntry structures that contains the possible values or ranges of values of the parameter.

See Also

AIDA Overview, AIDA Structures And Datatypes, AIDA_tstReplacementTableEntry, AIDA_tenParamType, AIDA_tenParamAttrib, AIDA_tenValListEntryType, AIDA_tunParamVal, AIDA_tstValListEntry