MrmRegisterNamesInHierarchy






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



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



     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.











                             ‐2‐


     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.



     This function returns one of the following status
return constants:

MrmSUCCESS
          The function executed successfully.

MrmFAILURE
          The function failed.