MrmRegisterNamesInHierarchy - Man Page

Registers the values associated with the names referenced in UIL within a single hierarchy (for example, UIL callback function names or UIL identifier names)

Synopsis

#include <Mrm/MrmPublic​.h>
Cardinal MrmRegisterNamesInHierarchy(
MrmHierarchy hierarchy_id,
MrmRegisterArglist register_list,
MrmCount register_count);

Description

The MrmRegisterNamesInHierarchy function registers a vector of names and associated values for access in MRM​. The values can be callback functions, pointers to user-defined data, or any other values​. The information provided is used to resolve symbolic references occurring in UID files to their run-time values​. For callbacks, this information provides the procedure address required by the Motif Toolkit​. For names used as identifiers in UIL, this information provides any run-time mapping the application needs​.

This function is similar to MrmRegisterNames, except that the scope of the names registered by MrmRegisterNamesInHierarchy is limited to the hierarchy specified by hierarchy_id, whereas the names registered by MrmRegisterNames have global scope​. When MRM looks up a name, it first tries to find the name among those registered for the given hierarchy​. If that lookup fails, it tries to find the name among those registered globally​.

hierarchy_id

Specifies the hierarchy with which the names are to be associated​.

register_list

Specifies a list of name/value pairs for the names to be registered​. Each name is a case-sensitive, NULL-terminated ASCII string​. Each value is a 32-bit quantity, interpreted as a procedure address if the name is a callback function, and uninterpreted otherwise​.

register_count

Specifies the number of entries in register_list​.

The names in the list are case-sensitive​. The list can be either ordered or unordered​.

Callback functions registered through MrmRegisterNamesInHierarchy can be either regular or creation callbacks​. Regular callbacks have declarations determined by Motif Toolkit and user requirements​. Creation callbacks have the same format as any other callback:

void CallBackProc(
Widget *widget_id,
Opaque tag,
XmAnyCallbackStruct *callback_data);
widget_id

Specifies the widget ID associated with the widget performing the callback (as in any callback function)​.

tag

Specifies the tag value (as in any callback function)​.

callback_data

Specifies a widget-specific data structure​. This data structure has a minimum of two members: event and reason​. The reason member is always set to MrmCR_CREATE​.

Note that the widget name and parent are available from the widget record accessible through widget_id​.

Return

This function returns one of the following status return constants:

MrmSUCCESS

The function executed successfully​.

MrmFAILURE

The function failed​.