318
Appendix A: System Routines — Apps
TI
-
89 / TI
-
92 Plus Developer Guide
Not for Distribution
Beta Version January 26, 2001
OO_InstallAppHookByName
Declaration:
BOOL
OO_InstallAppHookByName
(UCHAR const *
appname
,
pFrame
hookFrame
, pFrame *
retFrame
)
Category(ies):
Apps
Description:
This routine refines an application, overriding or adding attributes, by
hooking a new frame at the head of the application’s object frame parent
hierarchy.
This routine is like
OO_InstallAppHook
but takes an application name
instead of an app ID as its first parameter.
Many application attributes are hard-coded in Flash memory and cannot be
changed — the app’s table of strings, for example. A language localizer
gains the effect of changing the app’s string table by hooking a new frame
containing the equivalent strings of a different language ahead of the app’s
object frame.
Multiple hooks can be installed in an app, the latest-installed having highest
precedence during attribute look-up. Attribute search begins with the
latest-installed hook frame and proceeds through each hook all the way
back to the app’s object frame until the attribute is found.
Hooks can be uninstalled in any order. See
OO_UninstallAppHook
or
OO_UninstallAppHookByName
to learn how to uninstall hooks.
Inputs:
appname
— Internal name of application into which a new frame is to
be hooked.
hookFrame
— Pointer to hook frame.
retFrame
— Returned pointer to RAM link frame. Keep this value
around and pass it to
OO_UninstallAppHookByName
or
OO_UninstallAppHook
when you want to unhook the
frame.
Outputs:
Returns TRUE if hook was installed. Returns FALSE if memory for RAM
link frame could not be allocated or application could not be found.
Assumptions:
None
Side Effects:
May cause heap compression.
Availability:
On AMS 2.00 and higher.
TI-89 / TI-92 Plus
Differences:
None
(continued)