|  |  |  |  | 
 1
 Application Launch Codes
  
1
 Application Launch CodesSystemMgr.h. The associated parameter blocks are declared in AppLaunchCmd.h, AlarmMgr.h, ExgMgr.h, and Find.h. 
 
| Code | Request | 
|---|---|
| scptLaunchCmdExecuteCmd | Execute the specified Network login script plugin command. | 
| scptLaunchCmdListCmds | Provide information about the commands that your Network script plugin executes. | 
| sysAppLaunchCmdAddRecord | Add a record to a database. | 
| sysAppLaunchCmdAlarmTriggered | Schedule next alarm or perform quick actions such as sounding alarm tones. | 
| sysAppLaunchCmdCountryChange | Respond to country change. | 
| sysAppLaunchCmdDisplayAlarm | Display specified alarm dialog or perform time-consuming alarm-related actions. | 
| sysAppLaunchCmdExgAskUser | Let application override display of dialog asking user if they want to receive incoming data via the exchange manager. | 
| sysAppLaunchCmdExgReceiveData | Notify application that it should receive incoming data via the exchange manager. | 
| sysAppLaunchCmdFind | Find a text string. | 
| sysAppLaunchCmdGoto | Go to a particular record, display it, and optionally select the specified text. | 
| sysAppLaunchCmdGoToURL | Launch Clipper application and open a URL. | 
| sysAppLaunchCmdInitDatabase | Initialize database. | 
| sysAppLaunchCmdLookup | Look up data. In contrast to sysAppLaunchCmdFind, a level of indirection is implied. For example, look up a phone number associated with a name. | 
| sysAppLaunchCmdNormalLaunch | Launch normally. | 
| sysAppLaunchCmdNotify | Notify about an event. | 
| sysAppLaunchCmdOpenDB | Launch application and open a database. | 
| sysAppLaunchCmdPanelCalledFromApp | Tell preferences panel that it was invoked from an application, not the Preferences application. | 
| sysAppLaunchCmdReturnFromPanel | Tell an application that it's restarting after preferences panel had been called. | 
| sysAppLaunchCmdSaveData | Save data. Often sent before find operations. | 
| sysAppLaunchCmdSyncNotify | Notify applications that a HotSync has been completed. | 
| sysAppLaunchCmdSystemLock | Sent to the Security application to request that the system be locked down. | 
| sysAppLaunchCmdSystemReset | Respond to system reset. No UI is allowed during this launch code. | 
| sysAppLaunchCmdTimeChange | Respond to system time change. | 
| sysAppLaunchCmdURLParams | Launch an application with parameters from Clipper. | 
edit field of the parameter block to control whether or not the iMessenger editor is displayed. Set it to true to display the editor or false not to display it.
 
IMPORTANT: Implemented for iMessenger only if Wireless Internet Feature Set is present. Implemented for Mail only on OS version 3.0 or later.
typedef enum {     mailPriorityHigh,     mailPriorityNormal,     mailPriorityLow } MailMsgPriorityType;typedef struct {    Boolean secret;    Boolean signature;    Boolean confirmRead;    Boolean confirmDelivery;    MailMsgPriorityType priority;    UInt8 padding    Char* subject;    Char* from;    Char* to;    Char* cc;    Char* bcc;    Char* replyTo;    Char* body;} MailAddRecordParamsType;|   |  | Truemeans that the message should be marked secret. | 
|   |  | Truemeans that the signature from the Mail application's preferences should be attached to the message. | 
|   | confirmRead | Truemeans that a confirmation should be sent when the message is read. | 
|   | confirmDelivery | Truemeans that a confirmation should be sent when the message is delivered. | 
|   | priority | Message priority. Specify one of the MailMsgPriorityTypeenumerated types. | 
|   |  | Reserved for future use. | 
|   |  | Message's subject, a null-terminated string (optional). | 
|   |  | Message's sender, a null-terminated string (not used on outgoing mail). | 
|   |  | Address of the recipient, a null-terminated string (required). | 
|   |  | Addresses of recipients to be copied, a null-terminated string (optional). | 
|   |  | Addresses of recipients to be blind copied, a null-terminated string (optional). | 
|   |  | Reply to address, a null-terminated string (optional). | 
|   |  | The text of the message, a null-terminated string (required). | 
typedef struct {    UInt16 category;    Boolean edit;    Boolean signature;    Char *subject;    Char *from;    Char *to;    Char *replyTo;    Char *body;} MsgAddRecordParamsType;|   |  | Category in which to place the message. Specify one of the following categories: | 
|   |  |  | 
|   |  |  | 
|   |  |  | 
|   |  |  | 
|   |  |  | 
|   |  | Truemeans that the signature from the iMessenger application preferences should be attached to the message. | 
|   |  | Message's subject, a null-terminated string (optional). | 
|   |  | Message's sender, a null-terminated string (not used on outgoing mail). | 
|   |  | Address of the recipient, a null-terminated string (required). | 
|   |  | Reply to address, a null-terminated string (optional). | 
|   |  | The text of the message, a null-terminated string (required). | 
typedef struct SysAlarmTriggeredParamType {    UInt32	 	 	 	 ref;    UInt32	 	 	 	 alarmSeconds;    Boolean	 	 	 	 purgeAlarm;    UInt8	 	 	 	 padding;} SysAlarmTriggeredParamType;|   |  | The caller-defined value specified when the alarm was set with AlmSetAlarm. | 
|   |  | The date/time specified when the alarm was set with AlmSetAlarm. The value is given as the number of seconds since 1/1/1904. | 
|   |  | Not used. | 
StrLocalizeNumber, and StrDelocalizeNumber.
typedef struct SysDisplayAlarmParamType {    UInt32	 	 	 	 ref;    UInt32	 	 	 	 alarmSeconds;    Boolean	 	 	 	 soundAlarm;    UInt8	 	 	 	 padding;    } SysDisplayAlarmParamType;|   |  | The caller-defined value specified when the alarm was set with AlmSetAlarm. | 
|   |  | The date/time specified when the alarm was set with AlmSetAlarm. The value is given as the number of seconds since 1/1/1904. | 
|   |  | trueif the alarm should be sounded,falseotherwise. This value is currently not used. | 
|   |  | Not used. | 
sysAppLaunchCmdExgAskUser to call the result field in the parameter to the appropriate value. Possible values are: 
|   |  | Display the dialog without the category pop-up list (the default). | 
|   |  | Accept the incoming data. | 
|   |  | Reject the incoming data. | 
result field to exgAskCancel, your application always rejects all incoming data without displaying the dialog. If it is to set the result field to exgAskOk, it always accepts all incoming data without displaying the dialog. 
 
ExgDoDialog in your handler, return exgAskOk if ExgDoDialog was successful, or exgAskCancel if it failed. If you don't set the result field on Palm OS 3.5, the dialog is displayed twice. 
 
result field to exgAskOk, or the dialog is displayed and the user presses the OK button, then the exchange manager sends the application the next launch code, 
IMPORTANT: Implemented only if 3.0 New Feature Set is present.
typedef struct {    ExgSocketPtr	 	 	 	 	 	 	 	 socketP;    ExgAskResultType	 result;    UInt8	 	 	 	 	 	 	 	 reserved;    } ExgAskParamType;PilotMain routine:
Boolean appIsActive = launchFlags & sysAppLaunchFlagSubCall;appIsActive value will be true if your application is active and globals are available; otherwise, you won't be able to access any of your global variables during the receive operation.
 
ExgSocketPtr data type. It is a pointer to the ExgSocketType structure corresponding to the exchange manager connection via which the data is arriving. You will need to pass this pointer to the ExgAccept function to begin receiving the data. For more details, refer to the "Exchange Manager" chapter.
 
IMPORTANT: Implemented only if 3.0 New Feature Set is present.
FindParamsType parameter block to each application. The system displays the results of the query in the Find dialog. 
 
sysAppLaunchCmdSaveData and sysAppLaunchCmdGoto as well. 
typedef struct {// These fields are used by the applications.    UInt16	 	 	 	 	 	 	 	 	 dbAccesMode;    UInt16	 	 	 	 	 	 	 	 	 recordNum;    Boolean	 	 	 	 	 	 	 	 	 more;    Char	 	 	 	 	 	 	 	 	 strAsTyped [maxFindStrLen+1];    Char	 	 	 	 	 	 	 	 	 strToFind [maxFindStrLen+1];// These fields are private to the Find routine //and should NOT be accessed by applications.    UInt8	 	 	 	 	 	 	 	 	 reserved1;    UInt16	 	 	 	 	 	 	 	 	 numMatches;    UInt16	 	 	 	 	 	 	 	 	 	 lineNumber;    Boolean	 	 	 	 	 	 	 	 	 	 continuation;    Boolean	 	 	 	 	 	 	 	 	 	 searchedCaller;    LocalID	 	 	 	 	 	 	 	 	 	 callerAppDbID;    UInt16	 	 	 	 	 	 	 	 	 	 callerAppCardNo;    LocalID	 	 	 	 	 	 	 	 	 	 appDbID;    UInt16	 	 	 	 	 	 	 	 	 	 appCardNo;    Boolean	 	 	 	 	 	 	 	 	 	 newSearch;    UInt8	 	 	 	 	 	 	 	 	 	 reserved2;    DmSearchStateType	 	 	 	 	 	 	 	 	 	 searchState;    FindMatchType	 	 	 	 	 	 	 	 	 	 match [maxFinds];} FindParamsType;|   |  | Read mode. May be "show secret." | 
|   |  | Index of last record that contained a match. | 
|   |  | trueif more matches to display. | 
|   |  | Search string as entered. | 
|   |  | Search string in lower case. | 
|   |  | Reserved for future use. | 
|   |  | System use only. | 
|   |  | System use only. | 
|   |  | System use only. | 
|   |  | System use only. | 
|   |  | System use only. | 
|   |  | System use only. | 
|   |  | System use only. | 
|   |  | System use only. | 
|   |  | System use only. | 
|   |  | Reserved for future use. | 
|   |  | System use only. | 
|   |  | System use only. | 
sysAppLaunchCmdFind or sysAppLaunchCmdExgReceiveData to allow users to actually inspect the record that the global find returned or that was received by the exchange manager. 
 
typedef struct {    Int16	 	 	 	 searchStrLen;    UInt16	 	 	 	 dbCardNo;    LocalID	 	 	 	 dbID;    UInt16 	 	 	 	 recordNum;    UInt16	 	 	 	 matchPos;    UInt16	 	 	 	 matchFieldNum;    UInt32	 	 	 	 matchCustom;    } GoToParamsType;|   |  | Length of search string. | 
|   |  | Card number of the database. | 
|   |  | Local ID of the database. | 
|   |  | Index of record containing a match. | 
|   |  | Position of the match. | 
|   |  | Field number string was found in. | 
|   |  | Application-specific information. | 
IMPORTANT: Implemented only if Wireless Internet Feature Set is present.
'data' database is being installed or restored from the desktop. In this case, HotSync® creates a new database on the device and passes it to the application via a sysAppLaunchCmdInitDatabase command, so that the application can perform any required initialization. HotSync will then transfer the records from the desktop database to the device database. 
 
sysAppLaunchCmdInitDatabase command properly. Be especially careful not to access global variables. 
 
typedef struct {    DmOpenRef	 	 	 	 	 dbP;    UInt32	 	 	 	 	 creator;    UInt32	 	 	 	 	 type;    UInt16	 	 	 	 	 version;} SysAppLaunchCmdInitDatabaseType;Address.c and AppLaunchCmd.h, which are included in your SDK. 
AppLaunchCmd.h for an example.
 
IMPORTANT: Implemented only if 2.0 New Feature Set is present.
IMPORTANT: Implemented only if Notification Feature Set is present.
NotifyMgr.h defines the format of this launch code's parameter block. See its description in the "Notification Manager" chapter. 
IMPORTANT: Implemented only if Wireless Internet Feature Set is present.
typedef struct {    UInt16	 	 	 	 cardNo;    LocalID	 	 	 	 dbID;    } SysAppLaunchCmdOpenDBType;sysAppLaunchCmdPanelCalledFromApp and sysAppLaunchCmdPanelCalledFromApp lets a preferences panel know whether it was switched to from the Preferences application or whether an application invoked it to make a change. The panel may be a preference panel owned by the application or a system preferences panel.
 
IMPORTANT: Implemented only if 2.0 New Feature Set is present.
IMPORTANT: Implemented only if 2.0 New Feature Set is present.
typedef struct {    Boolean	 	 	 	 uiComing;    UInt8	 	 	 	 reserved1;} SysAppLaunchCmdSaveDataType;sysAppLaunchCmdSyncNotify when their databases are updated, this launch code is not a good place to perform any operation that must occur after every HotSync operation. Instead, you may register to receive the sysNotifySyncFinishEvent on systems that have the Notification Feature Set. This notification is sent at the end of a HotSync operation, and it is sent to all applications registered to receive it, whether the application's data changed or not. Note that there is also a sysNotifySyncStartEvent notification. 
IMPORTANT: Implemented only if 2.0 New Feature Set is present.
typedef struct {    Boolean	 	 	 	 hardReset;    Boolean	 	 	 	 createDefaultDB;} SysAppLaunchCmdSystemResetType;sysNotifyTimeChangeEvent notification instead of responding to this launch code. The sysAppLaunchCmdTimeChange launch code is sent to all applications. The sysNotifyTimeChangeEvent notification is sent only to applications that have specifically registered to receive it, making it more efficient than sysAppLaunchCmdTimeChange. 
palm URL, then globals are available. If the launch code results from a palmcall URL, then globals are not available.
 
sysAppLaunchFlagNewGlobals launch flag sent with this launch code. If this is flag is set, then you have global variable access.
 
IMPORTANT: Implemented only if Wireless Internet Feature Set is present.
|   |  |  |  |  |   |