int error = SystemRequest(APTR handle, STRPTR title, STRPTR body, ULONG flags, int *result, struct hwTagList *tags);
bodyparameter to the user. The user then has to acknowledge the requester by pressing a button. The
flagsparameter specifies which button(s) should be shown and it also tells you whether or not there should be an icon the requester. The following flags are currently defined:
HWSYSREQTAG_CHOICESwhich contains the names for the custom buttons.
Please note that all
HWSYSREQTYPE_XXX and all
HWSYSREQICON_XXX flags are mutually
exclusive. There will only be one flag from each group set.
Hollywood also passes a taglist to this function. Your implementation has to handle the following tags:
iDatamember of this tag item is set to
Trueif Hollywood has called you while the script is running. This might be important to know because requesters should not block window refresh so you might want to setup a temporary modal event loop if this tag has been set to
Trueto enable your display to stay responsive.
HWSYSREQTYPE_CUSTOMflag has been set, the
pDatamember of this tag item contains a pointer to a string that contains the name(s) of one or more buttons. If there is more than one button, the individual button names will be separated by the vertical bar character (|). If this tag is provided, your implementation must setup a custom requester that contains the buttons specified here.
SystemRequest() implementation has to write the id of the button that
has been pressed to the
int pointer passed as the fifth parameter. The
right-most button always has the id 0. If there is only one button, it will
also have the id 0. The ids of the other buttons are counted from left to right
starting at 1. This arrangement has been chosen so that in case there are two
buttons like "OK|Cancel" or "Yes|No", the affirmative button's id will correspond
True whereas the negative response button's id will correspond to
Note that Hollywood won't call FreeRequest() for this
requester type because
SystemRequest() shouldn't have to allocate any resources.
SystemRequest() is an optional API and must only be implemented if
HWSRAFLAGS_SYSTEMREQUEST has been
passed to hw_SetRequesterAdapter(). See hw_SetRequesterAdapter for details.
NULLif no display is open
intpointer for storing the user's selection