API Guide Home
(Online version only)

HsAppLaunchCmd.h

Go to the documentation of this file.
00001 /******************************************************************************
00002  * Copyright (c) 2004 PalmOne, Inc. or its subsidiaries.
00003  * All rights reserved.
00004  *****************************************************************************/
00005 /**
00006  *
00007  * @ingroup SystemDef
00008  *
00009  */
00010  
00011 /**
00012  * @file    HsAppLaunchCmd.h
00013  * @version 1.0
00014  * @date    04/20/2000  
00015  *
00016  * @brief Public header file akin to Palm's AppLaunchCmd.h  
00017  *  
00018  */
00019  
00020 /** 
00021  * @author   dia
00022  *
00023  * History:8
00024  *  12-oct-1999 dia - Created by Douglas Anderson
00025  *   20-apr-2000 dia - New APIs for dialing.
00026  *
00027  * <hr>
00028  */
00029 
00030 #ifndef   __HSAPPLAUNCHCMD_H__
00031 #define   __HSAPPLAUNCHCMD_H__
00032 
00033 //#include <CoreCompatibility.h>
00034 #include <AppLaunchCmd.h>
00035 #include <Common/Libraries/Imaging/palmOnePhotoCommon.h>
00036 
00037 #include <HsPhoneTypes.h>
00038 #include <HsPhoneNetworkTypes.h>
00039 #include <HsPhoneGSMTypes.h>
00040 #include <HsPhoneSecurityTypes.h>
00041 #include <HsPhoneCDMATypes.h>
00042 #include <HsPhoneIOTATypes.h>
00043 #include <HsPhoneEvent.h>
00044 
00045 //=============================================================================
00046 // Useful macros...
00047 //=============================================================================
00048 
00049 // <chg 07-mar-00 dia>
00050 // The LaunchWithCommand() macro was added in the OS 3.2 headers, so we
00051 // only define this macro if we're compiling with old headers.
00052 
00053 #ifndef LaunchWithCommand
00054   #define LaunchWithCommand(type, creator, command, commandParams) \
00055   { \
00056     UInt16              cardNo; \
00057     LocalID             dbID; \
00058     DmSearchStateType   searchState; \
00059     Err                     err; \
00060     DmGetNextDatabaseByTypeCreator(true, &searchState, type, \
00061         creator, true,  &cardNo, &dbID); \
00062     ErrNonFatalDisplayIf(!dbID, "Could not find db"); \
00063     if (dbID) \
00064       { \
00065         err = SysUIAppSwitch(cardNo, dbID, command, (Ptr) commandParams); \
00066         ErrNonFatalDisplayIf(err, "Could not launch db"); \
00067       } \
00068   }
00069 #endif // def(LaunchWithCommand)
00070 
00071 
00072 // <chg 07-mar-00 dia>
00073 // Unfortunately, CallWithCmmand() was never defined (I should have known 
00074 // better).  Still, just in case Palm ever does define it, I'll couch
00075 // it in ifdefs.  Hopefully, they follow the other macro and it will look
00076 // just like this.
00077 
00078 #ifndef CallWithCommand
00079   /** internal */
00080   #define CallWithCommand(type, creator, command, commandParams) \
00081   { \
00082     UInt16              cardNo; \
00083     LocalID             dbID; \
00084     DmSearchStateType   searchState; \
00085     UInt32 result; \
00086     Err err; \
00087     DmGetNextDatabaseByTypeCreator(true, &searchState, type, \
00088         creator, true,  &cardNo, &dbID); \
00089     ErrNonFatalDisplayIf(!dbID, "Could not find db"); \
00090     if (dbID) \
00091       { \
00092         err = SysAppLaunch(cardNo, dbID, 0, command, (Ptr) commandParams, &result); \
00093         ErrNonFatalDisplayIf(err, "Could not launch db"); \
00094       } \
00095   }
00096 #endif // def(CallWithCommand)
00097 
00098 
00099 //=============================================================================
00100 // Handspring-modified address book
00101 //=============================================================================
00102 
00103 //-------------------------------------------------------------------
00104 // Extra launch codes
00105 //-------------------------------------------------------------------
00106 
00107 /** Launch codes start at customBase + 0x2300 so that hopefully there won't be any conflict with
00108   * any launch codes that PalmSource or others add to the address book.
00109   * IMPORTANT: See also AddrCustomNotificationCodes . */
00110 typedef enum 
00111   {
00112     addrAppLaunchCmdHsLookup= sysAppLaunchCmdCustomBase + 0x2300,   /**< Launch Contacts for lookup */
00113     addrAppLaunchCmdCallerID                                        /**< Launch Contacts for callerID lookup */
00114   } 
00115 AddrCustomActionCodes;
00116 
00117 /** Switch to using notifications rather than launch codes to avoid potential
00118   * conflicts if PalmSource modifies the address book app. */
00119 typedef enum
00120   {
00121         // NOTE: 
00122         // Shouldn't be using these values!  Notification types are
00123         // supposed to be 4-character creator IDs that are registered in Palm's
00124         // Creator database!  Guess it's a little late now, since these codes are
00125         // out in the field.
00126         addrAppNotificationHsLookup = sysAppLaunchCmdCustomBase + 0x2300,
00127         addrAppNotificationCmdCallerID,
00128         addrAppNotificationPhonebookApp,
00129 
00130         // DON'T ADD ANY MORE based on 2300:  See above NOTE
00131 
00132         addrAppNotificationListLookupTypeGet = 'HsLL',      // Registered 2001-09-12 w/ Creator DB
00133         addrAppNotificationCreateNewRecord = 'HsNR',        // Registered 2002-07-30 w/ Creator DB
00134         addrAppNotificationDialPrefs = 'HsDP',              // Registered 2003-01-29 w/ Creator DB
00135         addrAppNotificationBeamBusinessCard = 'HsBB',       // Registered 2003-02-14 w/ Creator DB
00136         addrAppNotificationPhotoCallerID = 'HsPC'
00137   }
00138 AddrCustomNotificationCodes;
00139 
00140 //-------------------------------------------------------------------
00141 // Support for addrAppLaunchCmdHsLookup
00142 //-------------------------------------------------------------------
00143 
00144 /** Parameter block is the same as OS 3.1's block for sysAppLaunchCmdLookup */
00145 typedef AddrLookupParamsType AddrHsLookupParamsType;
00146 
00147 /** Parameter block is the same as OS 3.1's block for sysAppLaunchCmdLookup */
00148 typedef AddrHsLookupParamsType * AddrHsLookupParamsPtr;
00149 
00150 // We support all of the lookup fields that defined in the AddressLookupFields
00151 // enum for the OS 3.1 headers, plus these two.  The string versions of these
00152 // (for the formatstring paramter) are "voicephone" and "anyphone".
00153 // ...start at 0x70 so hopefully we get no conflicts.
00154 
00155 /** Expansion to the Palm OS AddressLookupFields. */
00156 typedef enum {
00157     addrLookupVoicePhones=0x70,     /**< All phone fields except fax and email. */
00158     addrLookupAnyPhones ,           /**< All phone fields (including email) */
00159     addrLookupSMSPhones ,           /**< Mobile, other and email fields */
00160     addrLookupSMSPhonesNoEmail      /**< Mobile and other fields */
00161 } AddressHsLookupFields;
00162 
00163 
00164 //-------------------------------------------------------------------
00165 // Support for addrAppLaunchCmdCallerID
00166 //-------------------------------------------------------------------
00167 
00168 /** Flag definitions for AddrCallerIDParamsType flags field
00169   * If this flag is set, we match numbers that are
00170   * shorter than the usual minimum required length.
00171   * We match the *entire* string, not substrings. */
00172 #define addrLookupNoMinLength       1
00173 
00174 
00175 /** Parameter block for addrAppLaunchCmdCallerID. */
00176 typedef struct 
00177   {
00178     Char* lookupString;   /**< Must be only digits and include country code.
00179                                Example: 14085551212 */
00180     Char* formatString;   /**< Format of the output string like AddrLookupParamsPtr->formatString
00181                                Example ^name ( ^phonetypelabel ) might result
00182                                in "David ( work )" */
00183 
00184     Char* resultString; /**<  Returned heap allocated string resultStringH; */
00185     Boolean (*callback)(void*); /**< Call back; Returns true to stop execution */
00186     void* ref;  /**< Reference that gets passed to callbackFunc */
00187     UInt32 uniqueID; /**< Unique ID of the matching record 0 if no match */
00188     UInt16 flags; /**< Flags associated with the called ID */
00189     UInt16 recordNum; /**<record number of the matching record. */
00190 
00191   }
00192 AddrCallerIDParamsType, * AddrCallerIDParamsPtr;
00193 
00194 
00195 //-------------------------------------------------------------------
00196 // Support for addrAppNotificationListLookupTypeGet
00197 //-------------------------------------------------------------------
00198 
00199 /** Various address book lookup methods. */
00200 enum
00201   {
00202     addrListLookupTypeLastName,           /**< phone lookup will be by last name... */
00203     addrListLookupTypeFirstName,          /**< phone lookup will be by first name... */
00204     addrListLookupTypeCompany,            /**< phone lookup will be by company (currently unused)... */
00205     addrListLookupTypeIntelligent         /**< phone lookup will be intelligent (either name or
00206                                                some other matching) (currently unused)...  */
00207   };
00208 typedef UInt16 AddrListLookupTypeEnum;    /**< AddrListLookupTypeEnum -> UInt16 */
00209 
00210 /** Contains data used when launching address book for contact lookup. */
00211 typedef struct
00212   {
00213     UInt16                  version;      /**< IN/OUT: Should always be 0... */
00214     AddrListLookupTypeEnum  type;         /**< OUT: The type of phone lookup that
00215                                                     will occur if you do a lookup by
00216                                                     listName. */
00217   }
00218 AddrListLookupTypeGetParamsType;
00219 
00220 
00221 //-------------------------------------------------------------------
00222 // Support for addrAppLaunchCmdHsPhonebook
00223 //-------------------------------------------------------------------
00224 /** Parameter block for addrAppLaunchCmdHsPhonebook. */
00225 typedef struct
00226   {
00227     Char*     lookupStrP; /**< The lookup string that should be
00228                                preloaded in the lookup field */
00229     Boolean   activeCall; /**< Whether the active call icon should be
00230                                usable or not... could change in a sublaunch
00231                                when a call is dropped */
00232     Boolean   lookup;     /**< True if this notification is for a lookup
00233                                false if it is for a new contact */
00234     Char *    newPhoneNum;/**< Phone number of the new contact. */
00235   }
00236 AddrPhonebookAppParamsType, * AddrPhonebookAppParamsPtr;
00237 
00238 
00239 // <chg 2002-08-05 knm>
00240 // This is used to send a new contact data to AddressApp. Currently
00241 // SMSApp's "Save to Contacts" feature uses this.
00242 //-------------------------------------------------------------------
00243 // Support for addrAppNotificationCreateNewRecord
00244 //-------------------------------------------------------------------
00245 
00246 /** Contains data when launching phone book with create new record view. */
00247 typedef struct
00248   {
00249     Char*   data;   /**< Data to save (Null terminated string) */
00250     UInt8   field;  /**< Phone number, URL, or email address field number.
00251                           *  They are defined in ViewForm.c as follows:
00252                           *  #define kAddrDBRecMobileFld 5   // phone3
00253                           *  #define kAddrDBRecEMailFld  7   // phone5
00254                           *  #define kAddrDBRecURLFld    14  // custom1
00255                           *  The values are based on the field definition in AddressDB.h. */
00256   }
00257 AddrCreateNewRecordParamsType, * AddrCreateNewRecordParamsPtr;
00258 
00259 // <chg 2006-06-07 ericw>
00260 // This is used to add a number to an existing contact in PhoneApp. Currently
00261 // the post call number store uses this
00262 //-------------------------------------------------------------------
00263 // Support for addrAppNotificationAddToRecord
00264 //-------------------------------------------------------------------
00265 
00266 /** Contains data when launching phone book with create new record view. */
00267 typedef struct
00268   {
00269     Char*   data;     /**< Data to save (Null terminated string) */
00270     UInt32  uniqueID; /**< The UID of the contact to save the phone number to */
00271     UInt8   field;    /**< Phone number, URL, or email address field number.
00272                           *  They are defined in ViewForm.c as follows:
00273                           *  #define kAddrDBRecMobileFld 5   // phone3
00274                           *  #define kAddrDBRecEMailFld  7   // phone5
00275                           *  #define kAddrDBRecURLFld    14  // custom1
00276                           *  The values are based on the field definition in AddressDB.h. */
00277   }
00278 AddrAddToRecordParamsType, * AddrAddToRecordParamsPtr;
00279 //-------------------------------------------------------------------
00280 // Support for addrAppNotificationHsLookup
00281 //-------------------------------------------------------------------
00282 #define AddrHsLookupUserDataVersion     0 /**< Version number of the addrAppNotificationHsLookup command and structures */
00283 
00284 /** Structure that contains the data used for looking up user info in address book app */
00285 typedef struct
00286   {
00287     UInt16                  version;        /**< IN: Version of the userData structure */
00288     Boolean                 matchFound;     /**< OUT: TRUE if ANY match was found.
00289                                                       (i.e. 1 or more matches were
00290                                                       found)
00291                                                       FALSE if NO match was found. */
00292     Boolean                 useMultiFilter; /**< IN: TRUE if lookup should use multifilter.
00293                                                      FALSE if lookup should NOT use multifilter. */
00294   }
00295 AddrHsLookupUserDataType, *AddrHsLookupUserDataPtr;
00296 
00297 #define AddrHsLookupUserDataVersion2        1 /**< Version number of the addrAppNotificationHsLookup command for the V2 structure */
00298 
00299 typedef struct
00300   {
00301     UInt16                  version;        /**< IN: Version of the userData structure */
00302     Boolean                 matchFound;     /**< OUT: TRUE if ANY match was found.
00303                                                       (i.e. 1 or more matches were
00304                                                       found)
00305                                                       FALSE if NO match was found. */
00306     Boolean                 useMultiFilter; /**< IN: TRUE if lookup should use multifilter.
00307                                                      FALSE if lookup should NOT use multifilter. */
00308     Boolean                 displaySIMbook; /**< IN: TRUE if lookup should display Simbook entries.
00309                                                      FALSE if lookup should NOT display Simbook entries. */
00310   }
00311 AddrHsLookupUserDataV2Type, *AddrHsLookupUserDataV2Ptr;
00312 
00313 //-------------------------------------------------------------------
00314 // Support for addrAppNotificationPhotoCallerID
00315 //-------------------------------------------------------------------
00316 /** Support for addrAppNotificationPhotoCallerID */
00317 typedef struct
00318 {
00319     UInt16      recordNum;  /**< Record for which we want to get the picture id */
00320     Coord       xExtent;    /**< Dimension of the photo required. Pass 0 to get max size. */
00321     Coord       yExtent;    /**< Dimension of the photo required. Pass 0 to get max size. */
00322     void        *imageBits; /**< Bits that represent the caller id image. image size returned in xExtent & yExtent */
00323 }
00324 AddrPhotoCallerIDParamsType, *AddrPhotoCallerIDParamsPtr;
00325     
00326 //-------------------------------------------------------------------
00327 // Support for dialPnlLaunchCmd... commands
00328 //-------------------------------------------------------------------
00329 
00330 // Boolean IsDialingAvailable (UInt32 serviceFlags)
00331 // ------------------------------------------------
00332 
00333 /** Support for dialPnlLaunchCmd... commands */
00334 typedef struct 
00335   {
00336     Boolean result;             /**< OUT: Space for result... */
00337     UInt8 _reserved0;           /**< IN:  Reserved byte--MUST BE 0. */
00338     
00339     const UInt32* serviceIDsP;  /**< IN:  Array of services to check... */
00340     UInt16 numServices;         /**< IN:  Num elements in service IDs array. */
00341   }
00342 DialPnlIsDialingAvailableParamsType;
00343 
00344 
00345 // void DispatchDial (UInt16 service, void* paramP)
00346 // ------------------------------------------------
00347 
00348 /** Use with the function DispatchDial (UInt16 service, void* paramP) */
00349 typedef struct
00350   {
00351     UInt32  serviceID;      /**< IN:  The service type to dial... */
00352     void*   dataP;          /**< IN:  Basic Data to send to the helper... */
00353     Char*   descriptionStr; /**< IN:  Description of data to dial... */
00354     UInt8   handled;        /**< OUT: Non-zero if handled */
00355     Err     err;            /**< OUT: Err code returned... */
00356   }
00357 DialPnlDispatchDialParamsType;
00358 
00359 
00360 //=============================================================================
00361 // Handspring phone application
00362 //=============================================================================
00363 
00364 // DOLATER: Some of these may be obsolete now...
00365 
00366 //------------------------------------------------------------------------
00367 // Phone application's custom launch codes
00368 //------------------------------------------------------------------------
00369 
00370 /** Launch the phone application and dial the passed number */
00371 #define phoneAppLaunchCmdDial           (sysAppLaunchCmdCustomBase)
00372 
00373 /** Launch the phone application and dial the last number dialed. */
00374 #define phoneAppLaunchCmdRedial         (sysAppLaunchCmdCustomBase+1)
00375 
00376 /** Launch the phone application and display the active calls view. */
00377 #define phoneAppLaunchCmdViewCalls      (sysAppLaunchCmdCustomBase+2)
00378 
00379 /** Launch the phone application and prompt to power on the phone */
00380 #define phoneAppLaunchCmdPowerOn        (sysAppLaunchCmdCustomBase+3)
00381 
00382 /** Launch the phone application and dial a number */
00383 #define phoneAppLaunchCmdDialVoiceMail  (sysAppLaunchCmdCustomBase+4)
00384 
00385 /** Launch the phone application and display the call history view. */
00386 #define phoneAppLaunchCmdViewHistory    (sysAppLaunchCmdCustomBase+5)
00387 
00388 /** Launch the phone application and display the speed dial view. */
00389 #define phoneAppLaunchCmdViewSpeed      (sysAppLaunchCmdCustomBase+6)
00390 
00391 /** Launch the phone application and display the keypad view. */
00392 #define phoneAppLaunchCmdViewKeypad     (sysAppLaunchCmdCustomBase+7)
00393 
00394 /** Launch the phone application and display the Phone Home view */
00395 #define phoneAppLaunchCmdViewPhoneHome  (sysAppLaunchCmdCustomBase+8)
00396 
00397 /** Launch the ## Application */
00398 #define phoneAppLaunchCmdActivation     (sysAppLaunchCmdCustomBase+10)
00399 
00400 /** Set the Wallpaper */
00401 #define phoneAppLaunchCmdSetWallpaper   (sysAppLaunchCmdCustomBase+11)
00402 
00403 /** Start the Network-initiated USSD */
00404 #define phoneAppLaunchCmdStartNetInitUSSD   (sysAppLaunchCmdCustomBase+12)
00405 
00406 /** Launch the phone application and dial the passed number for SATK SETUP CALL */
00407 #define phoneAppLaunchCmdDialSTKSETUPCALL   (sysAppLaunchCmdCustomBase+13)
00408 
00409 /** Launch the phone application to display the UI to ask the user if they
00410   * would like to search again. */
00411 
00412 #define phoneAppLaunchCmdNetworkSearch  (sysAppLaunchCmdCustomBase+14)
00413 
00414 /** Launch the phone application and send DTMF tone to the network */
00415 #define phoneAppLaunchCmdSendDTMFTone   (sysAppLaunchCmdCustomBase+15)
00416 
00417 /** Launch the phone application and display missed calls in the call history view. */
00418 #define phoneAppLaunchCmdViewMissedCalls  (sysAppLaunchCmdCustomBase+16)
00419 
00420 /** Display Dial Prefs */
00421 #define phoneAppLaunchCmdDisplayDialPrefs (sysAppLaunchCmdCustomBase+17)
00422 
00423 /** Query for the carrier flag to determine if Dial Prefs menu option should be displyed */
00424 #define phoneAppLaunchCmdGetDialPrefFlag  (sysAppLaunchCmdCustomBase+18)
00425 
00426 /** Query for the carrier flag to determine if Dial Prefs menu option should be displyed */
00427 #define phoneAppLaunchCmdGetUSDialingRules  (sysAppLaunchCmdCustomBase+19)
00428 
00429 /** Launch the phone application and display the Options menu */
00430 #define phoneAppLaunchOptionsMenu         (sysAppLaunchCmdCustomBase+20)
00431 
00432 /** Launch the phone application and display the Options menu */
00433 #define phoneAppLaunchCmdGetALSLineNumber     (sysAppLaunchCmdCustomBase+21)
00434 
00435 // Launch the phone application if dialed from bt handsfree 
00436 #define phoneAppLaunchCmdBluetoothDial (sysAppLaunchCmdCustomBase+22)
00437 
00438 // Launch the phone application if dialed from bt handsfree 
00439 #define phoneAppLaunchCmdBluetoothDialVoiceMail (sysAppLaunchCmdCustomBase+23)
00440 
00441 // Query the phone application for the caller id for a given number
00442 #define phoneAppLaunchCmdCallerIDLookup (sysAppLaunchCmdCustomBase+25)
00443 
00444 // Re-register all the Phone App views
00445 #define phoneAppLaunchCmdRegisterAllViews (sysAppLaunchCmdCustomBase+27)
00446 
00447 //------------------------------------------------------------------------
00448 // Data send this request to dial a number (phoneAppLaunchCmdDial).
00449 //------------------------------------------------------------------------
00450 
00451 /** Phone application dial methods. */
00452 typedef enum
00453   {
00454     PhoneAppDialMethodNormal = 0,     /**< Normal PhnLibDial() */
00455     PhoneAppDialMethodSATSetupCall,   /**< Use SIM Toolkit and respond 
00456                                             affirmative to the SIM's request 
00457                                             to set up a call. */ 
00458         // The below codes are added to allow passing of the call setup 
00459         // options
00460         PhoneAppDialMethodSATSetupCallModeNotBusy, 
00461         PhoneAppDialMethodSATSetupCallWithRedialModeNotBusy, 
00462         PhoneAppDialMethodSATSetupCallHoldOtherCalls, 
00463         PhoneAppDialMethodSATSetupCallWithRedialHoldOtherCalls, 
00464         PhoneAppDialMethodSATSetupCallDisconnectOtherCalls, 
00465         PhoneAppDialMethodSATSetupCallWithRedialDisconnectOtherCalls,
00466   }
00467 PhoneAppDialMethodEnum;
00468 
00469 /** Contains the data used by Phone app launch command dial. */
00470 typedef struct 
00471     {
00472     UInt8                   version;            /**< version number, set to one */
00473     Boolean                 confirm;            /**< confirm before dialing. */
00474     Char*                   name;               /**< optional */
00475     Char*                   number;             /**< optional */
00476     Char*                   extraDigits;        /**< optional */
00477     // Version 1
00478     UInt32                  failLaunchCreator;  /**< app to relaunch if dialling fails */
00479     UInt16                  failLaunchCode;     /**< launch code to use when relaunching */
00480     void*                   failLaunchParams;   /**< params to use when relaunching */
00481     UInt16                  dialMethod;         /**< Method to use to dial the phone number
00482                                                      See PhoneAppDialMethodEnum. */
00483     }
00484 PhoneAppLaunchCmdDialType, * PhoneAppLaunchCmdDialPtr;  
00485 
00486 /** Contains data used by PhoneAppLaunchCmdSetWallpaper. */
00487 typedef struct
00488   {
00489     UInt32                  wallpaperUID;       /**< OBSOLETE */
00490     // Version 2
00491     PalmPhotoFileLocation   wallpaperLocation;  /**< path to image */
00492   } 
00493 PhoneAppLaunchCmdSetWallpaperType, *PhoneAppLaunchCmdSetWallpaperPtr;
00494 
00495 /** Contains data used by PhoneAppLaunchCmdSendDTMFTone. */
00496 typedef struct
00497   {
00498     char                tone;       /**< the key that was pressed to trigger the launch cmd */
00499     Boolean             repeated;   /**< true if the character was on autoRepeat */
00500   }
00501 PhoneAppLaunchCmdSendDTMFToneType, *PhoneAppLaunchCmdSendDTMFTonePtr;
00502 
00503 /** Contains data used by PhoneAppLaunchCmdGetDialPref */
00504 typedef struct
00505 {
00506   Boolean               displayDialPrefs; /**< If true Dial Preferences option is made available */
00507 }
00508 PhoneAppLaunchCmdGetDialPrefFlagType, *PhoneAppLaunchCmdGetDialPrefFlagPtr;
00509 
00510 /** Data structure that goes with phoneAppLaunchCmdGetALSLineNumber launch cmd */
00511 typedef struct
00512 {
00513   UInt8     lineNumber; /**<ALS Line number */
00514 }
00515 PhoneAppLaunchCmdGetALSLineNumberType, *PhoneAppLaunchCmdGetALSLineNumberTypePtr;
00516 
00517 /** Data structure that goes with phoneAppLaunchCmdGetUSDialingRules launch cmd */
00518 enum
00519   {
00520     hsDialPrefsAddAreaCodeUnknown = 0,    /**< we don't know yet, so prompt when appropriate */
00521     hsDialPrefsAddAreaCodeNo,             /**< no auto-area code */
00522     hsDialPrefsAddAreaCodeYes,            /**< add area code automatically before dialing */
00523 
00524     hsDialPrefsAdd4DigitPrefixUnknown, //For 6 digit dialing
00525     hsDialPrefsAdd4DigitPrefixNo,
00526     hsDialPrefsAdd4DigitPrefixYes,
00527     
00528     hsDialPrefsAdd5DigitPrefixUnknown,
00529     hsDialPrefsAdd5DigitPrefixNo,
00530     hsDialPrefsAdd5DigitPrefixYes,
00531     
00532     hsDialPrefsAdd6DigitPrefixUnknown,
00533     hsDialPrefsAdd6DigitPrefixNo,
00534     hsDialPrefsAdd6DigitPrefixYes
00535   };
00536 
00537 /** MAX Length of the dialing prefixes for 7,6,5 and 4 digit numbers
00538  * respectively, including zero-terminator. */
00539 #define hsDialPrefsAutoAreaCodeLength     11
00540 #define hsDialPrefs6DigitPrefixLength   11
00541 #define hsDialPrefs5DigitPrefixLength   11
00542 #define hsDialPrefs4DigitPrefixLength   11
00543 
00544 #define hsDialPrefsMaxDialingPrefixLength 11
00545 
00546 /** HsDialPrefsUSDialingRulesType */
00547 typedef struct
00548   {
00549     UInt8  rulesEnabled;        /**< [OUT] if non-zero, then these should be
00550                                            be applied; if zero -- don't apply. */
00551     UInt8  _reserved0;          /**< caller must set to 0 (zero) -- for byte alignment, and reserved for
00552                                      future use by the DialPrefs API */
00553 
00554     UInt8  areaCodeCtl;         /**< [OUT] one of hsDialPrefsAddAreaCodeUnknown,
00555                                            hsDialPrefsAddAreaCodeNo, or
00556                                            hsDialPrefsAddAreaCodeYes;
00557                                            default is hsDialPrefsAddAreaCodeUnknown */
00558 
00559     UInt8  add1BeforeAreaCode;  /**< [OUT] if non-zero, automatically add "1" in front
00560                                            of the area code of US/Canada numbers;
00561                                            if zero -- don't.  Default is to add the "1"
00562                                            in front of US/Canada area codes. */
00563 
00564     char  autoAreaCode[hsDialPrefsAutoAreaCodeLength];
00565                                 /**< [OUT] the "auto" area code digits to add to 7-digit
00566                                            numbers if areaCodeCtl is hsDialPrefsAddAreaCodeYes; ignore otherwise; */
00567 
00568     UInt8  prefix6DigitCtl; //Dialing prefix for 6-digit dialed numbers
00569                                                     // one of hsDialPrefsAdd6DigitPrefixUnknown,
00570                                                     //hsDialPrefsAdd6DigitPrefixNo,
00571                                                     //hsDialPrefsAdd6DigitPrefixYes
00572     UInt8  prefix5DigitCtl; //Dialing prefix for 5-digit dialed numbers
00573                                                     // one of hsDialPrefsAdd5DigitPrefixUnknown,
00574                                                     //hsDialPrefsAdd5DigitPrefixNo,
00575                                                     //hsDialPrefsAdd5DigitPrefixYes
00576     UInt8  prefix4DigitCtl; //Dialing prefix for 4-digit dialed numbers
00577                                                     // one of hsDialPrefsAdd4DigitPrefixUnknown,
00578                                                     //hsDialPrefsAdd4DigitPrefixNo,
00579                                                     //hsDialPrefsAdd4DigitPrefixYes
00580 
00581     
00582     char auto6DigitPrefix[hsDialPrefs6DigitPrefixLength];
00583     char auto5DigitPrefix[hsDialPrefs5DigitPrefixLength];
00584     char auto4DigitPrefix[hsDialPrefs4DigitPrefixLength];
00585   }
00586 HsDialPrefsUSDialingRulesType;
00587 
00588 /** Contains data used by phoneAppLaunchCmdCallerIDLookup */
00589 typedef struct
00590   {
00591     Char*   numberP;            /**< the view type to display                                          be applied; if zero -- don't apply. */
00592     Char*   nameP;              /**< if not NULL, the view manager will pass this data block to the view
00593                                      once the view has been opened */
00594   }
00595 PhoneAppLaunchCmdCallerIDLookupType, PhoneAppLaunchCmdCallerIDLookupPtr;
00596 
00597 //------------------------------------------------------------------------
00598 // Phone application's custom notification codes
00599 //------------------------------------------------------------------------
00600 
00601 /** This notification is broadcast by the Phone application */
00602 #define pmPhoneAppNotifyHomeAppEvent        'pEvt'    // Registered with PalmSource Creator ID DB
00603  
00604 /** The parameter for pmPhoneAppNotifyHomeAppEvent notification is 
00605   * of type PhnEventPtr(as defined in HsPhoneEvent.h */
00606 #define pmPhoneAppNotifySetWallpaper        'pWlp'    // Registered with PalmSource Creator ID DB
00607 
00608 // Parameter structure for pmPhoneAppNotifySetWallpaper notification 
00609 // See PhoneAppLaunchCmdSetWallpaperType
00610 
00611 // -----------------------------------------------------------------------------
00612 // Sound Prefs custom launch codes.
00613 // -----------------------------------------------------------------------------
00614 
00615 /** Launch sounds Prefs in Phone Prefs view */
00616 #define soundPrefsLaunchCmdPhone            (sysAppLaunchCmdCustomBase)
00617 
00618 /** Launch Sound Prefs in SMS Prefs view */
00619 #define soundPrefsLaunchCmdSMS              (sysAppLaunchCmdCustomBase+1)
00620 
00621 /** Launch Sound Prefs in IM Prefs view */
00622 #define soundPrefsLaunchCmdIM               (sysAppLaunchCmdCustomBase+2)
00623 
00624 /** Launch Sound Prefs in Email Prefs view */
00625 #define soundPrefsLaunchCmdEmail            (sysAppLaunchCmdCustomBase+3)
00626 
00627 /** Launch Sound Prefs in Calendar Prefs view */
00628 #define soundPrefsLaunchCmdCalendar         (sysAppLaunchCmdCustomBase+4)
00629 
00630 /** Launch Sound Prefs in the MMS Prefs view */
00631 #define soundPrefsLaunchCmdMMS              (sysAppLaunchCmdCustomBase+5)
00632 
00633 /** Launch Sound Prefs in the General Prefs view */
00634 #define soundPrefsLaunchCmdGeneral              (sysAppLaunchCmdCustomBase+6)
00635 
00636 /** Different sound pref dialog views. */
00637 typedef enum
00638 {
00639   soundPrefsViewTones,
00640   soundPrefsViewVolume
00641 } SoundPrefsView;
00642 
00643 /** Contains data used by SoundPrefsLaunchCmd. */
00644 typedef struct
00645 {
00646   SoundPrefsView launchView;            /**< Launch to the tones/volume view. */
00647 }
00648 
00649 SoundPrefsLaunchCmdParamType, * SoundPrefsLaunchCmdParamPtr;
00650 
00651 // -----------------------------------------------------------------------------
00652 // Handspring Web browser custom launch codes
00653 // -----------------------------------------------------------------------------
00654 
00655 /** Launch the browser in the bookmark dialog */
00656 #define     sysAppLaunchWebBrowserLaunchBookmarkDialog      (sysAppLaunchCmdCustomBase)
00657 
00658 /** Retrieve the browser's home page */
00659 #define     sysAppLaunchWebBrowserGetHomePage                     (sysAppLaunchCmdCustomBase + 1)
00660 
00661 /** Set the browser's home page */
00662 #define     sysAppLaunchWebBrowserSetHomePage                     (sysAppLaunchCmdCustomBase + 2)
00663 
00664 /** Launch the browser in autocrawl mode */
00665 #define   sysAppLaunchWebBrowserAutoCrawl               (sysAppLaunchCmdCustomBase + 3)
00666 
00667 /** Launch the browser in tips/tutorial mode */
00668 #define   sysAppLaunchWebBrowserTutorialMode            (sysAppLaunchCmdCustomBase + 4)
00669 
00670 /** Launch the browser in minimal mode */
00671 #define   sysAppLaunchWebBrowserMinimalMode             (sysAppLaunchCmdCustomBase + 5)
00672 
00673 /** Contains data used when launching web browser in minimal mode. */
00674 typedef struct {
00675   Char*                    launchUrl;           /**< URL to browse when launching */
00676   Char*                    doneButtonLabel;     /**< Label on the Done button */
00677 } webBrowserMinimalModeLaunchInfo;
00678 
00679 /* Launch the browser with a specific network service ID */
00680 #define   sysAppLaunchWebBrowserURLWithSvcID             (sysAppLaunchCmdCustomBase + 6)
00681 
00682 /** Contains data used when launching web browser with a specific SvcID. */
00683 typedef struct {
00684   UInt32                   svcID;               /**< Network SvcID from NetPref */
00685   Char*                    launchUrl;           /**< URL to browse when launching */
00686 } webBrowserURLWithSvcIDLaunchInfo;
00687 
00688 
00689 //=============================================================================
00690 // Handspring Camera application
00691 //=============================================================================
00692 
00693 /** Stop any active Camera preview */
00694 #define   cameraAppLaunchCmdStopPreview                   (sysAppLaunchCmdCustomBase)
00695 
00696 /**Notification to request stop/pause video preview/playback.
00697   *In the event of high priority UI action like an incoming phone call,
00698   *if the responsible application does not take action the sender of this 
00699   *notification may take appropriate action in order to handle the high priority task */
00700 #define pmNotifyHighPriorityUITask      'pmUT'                  
00701 
00702 /**Notification to request stop/pause audio preview/playback.
00703   *In the event of high priority UI action like an incoming phone call,
00704   *if the responsible application does not take action the sender of this 
00705   *notification may take appropriate action in order to handle the high priority task */
00706 #define pmNotifyHighPriorityAudioTask   'pmAT'                  
00707 
00708 #endif // __HSAPPLAUNCHCMD_H__
00709 
00710 
00711 
00712 
00713 

Top Palm Developer Network
© 2004-2008, Palm, Inc. All rights reserved.
Generated on Fri Jun 13 10:06:53 2008 for Palm API Guide