|
API Guide Home (Online version only) |
![]() |
00001 /******************************************************************************* 00002 * Copyright (c) 2004-2006 palmOne, Inc. or its subsidiaries. 00003 * All rights reserved. 00004 ******************************************************************************/ 00005 /** 00006 * @defgroup PmSysGadgetLib Gadget Library 00007 * @brief This library provides supports for application that wants to 00008 * manage system gadgets or support big buttons in the applications. 00009 * 00010 * Application that wishes to update/ retrieve the status of system gadget such 00011 * as the battery indicator, signal strength or bluetooth indicator can use this 00012 * library to do so. This library also provides APIs for application that wants 00013 * to include big button resource. 00014 * 00015 * @{ 00016 * @} 00017 */ 00018 /** 00019 * @ingroup PmSysGadgetLib 00020 */ 00021 00022 /** 00023 * @file PmSysGadgetLibCommon.h 00024 * @brief Public 68k header file for system Library that exports system gadget related APIs. 00025 * 00026 * This file contains the common definitions and structures for the gadget-related APIs. 00027 * <hr> 00028 */ 00029 00030 #ifndef __PM_SYS_GADGET_LIB_COMMON_H__ 00031 #define __PM_SYS_GADGET_LIB_COMMON_H__ 00032 00033 /******************************************************************** 00034 * Constants 00035 ********************************************************************/ 00036 00037 #define kPmSysGadgetLibType sysFileTLibrary /**< Library type */ 00038 #define kPmSysGadgetLibCreator pmFileCSysGadgetLib /**< Library creator ID */ 00039 #define kPmSysGadgetLibName "PmSysGadgetLib-PmSg" /**< Library name */ 00040 00041 /** 00042 * This selector gets sent with a frmGadgetMiscEvent to let you know that the 00043 * gadget has been selected. The numbers are picked semi-randomly so that generic 00044 * code (like PmUIUtilFrmDoDialogWithCallback()) can tell that this is actually 00045 * a button press without doing the wrong thing for other people's gadget events. 00046 * 00047 * Note that in most code, you shouldn't need to worry about checking the data, 00048 * since you know exactly what gadgets are on your form and what kind of events 00049 * they send. 00050 **/ 00051 #define kPmSysGadgetBbutGadgetMiscSelectSelector 7014 /**< Randomish number so people can 00052 easily detect big button presses */ 00053 #define kPmSysGadgetBbutGadgetMiscSelectData ((void*)0xBADC0DE1) /**< Magic # to make conflicts even less 00054 likely for detecting big button presses.*/ 00055 00056 00057 /** 00058 * This is the type of big button resources. The ID should match the ID of 00059 * the form... 00060 **/ 00061 #define kPmSysGadgetBbutRscType 'bBut' /**< Registered: yes */ 00062 00063 /** 00064 * Feature that says that status gadget API exists and what revision it is 00065 **/ 00066 /*@{*/ 00067 #define kPmSysGadgetFtrIDStatusGadgetRev 1 00068 #define kPmSysGadgetFtrValStatusGadgetRev1 0x0001 // Revision 1 of API 00069 /*@}*/ 00070 00071 /** 00072 * Constants added for PTT Notification 00073 */ 00074 #define kPttNotificationEvent 'pPTT' 00075 #define kPttNotificationStatusOffset (0xF00) 00076 00077 /******************************************************************** 00078 * Enums 00079 ********************************************************************/ 00080 /** 00081 * Equates for supporting system handled status gadgets 00082 **/ 00083 typedef enum 00084 { 00085 pmSysGadgetStatusGadgetNone = 0, /**< No type specified for status gadget */ 00086 pmSysGadgetStatusGadgetBattery = 1, /**< Status gadget is a battery meter */ 00087 pmSysGadgetStatusGadgetSignal = 2, /**< Status gadget is a signal strength indicator */ 00088 pmSysGadgetStatusGadgetBt = 3, /**< Status gadget is a Bluetooth status indicator */ 00089 pmSysGadgetStatusGadgetEvdo = 4, /**< Status gadget is an EVDO status indicator */ 00090 pmSysGadgetStatusGadgetLine = 5, /**< Status gadget is an Active line status indicator */ 00091 pmSysGadgetStatusGadgetRoaming = 6, /**< Status gadget is a Roaming status indicator */ 00092 pmSysGadgetStatusGadgetCallFwd = 7, /**< Status gadget is a Call Forwarding status indicator */ 00093 pmSysGadgetStatusGadgetVm = 8, /**< Status gadget is a Voicemail status indicator */ 00094 pmSysGadgetStatusGadgetOperator = 9, /**< Status gadget is an Operator status indicator */ 00095 pmSysGadgetStatusGadgetPhoneCall = 10, /**< Status gadget is an Operator status indicator */ 00096 pmSysGadgetStatusGadgetTty = 11, /**< Status gadget is a TTY status indicator */ 00097 pmSysGadgetStatusGadgetPtt = 12 /**< Status gadget is a PTT status indicator, RJS added 22May06 */ 00098 } PmSysGadgetStatusGadgetTypeEnum; 00099 00100 /** Bluetooth radio status */ 00101 typedef enum 00102 { 00103 kIndicatorBtOff = 0x0700, /**< Bt Radio turned off */ 00104 kIndicatorBtOn, /**< Bt radio turned on */ 00105 kIndicatorBtConnectHeadset, /**< Connected to Headset */ 00106 kIndicatorBtConnectOther, /**< Connected to other Bt devices */ 00107 kIndicatorBtDUN, /**< Connected to DUN */ 00108 kIndicatorBtConnectAudio, /**< Connected audio **/ 00109 kIndicatorBtConnectStereo /**< Connected stereo **/ 00110 } PmSysGadgetBtStatusTypeEnum; 00111 00112 00113 /******************************************************************** 00114 * Structures 00115 ********************************************************************/ 00116 00117 /** 00118 * @brief This is the structure of a single big button mapping... 00119 **/ 00120 typedef struct 00121 { 00122 UInt8 flags; 00123 UInt8 font; 00124 00125 UInt16 gadgetID; 00126 00127 UInt16 bitmapID; 00128 UInt16 stringID; 00129 } 00130 PmSysGadgetBbutMappingType; 00131 00132 /** 00133 * @brief This is the structure of a big button resource... 00134 **/ 00135 typedef struct 00136 { 00137 UInt16 version; 00138 PmSysGadgetBbutMappingType mapArr[0]; 00139 } 00140 PmSysGadgetBbutResourceType; 00141 00142 /** 00143 * @brief This is the structure used by the PTT notification event 00144 **/ 00145 typedef struct 00146 { 00147 UInt32 creatorId; // creator ID where bitmap can be found 00148 UInt16 uBitmapId; // bitmap to show in PTT gadget 00149 UInt16 uStatus; // add the kPttNotificationStatusOffset to the PTT status 00150 } 00151 PmSysGadgetPttNotificationType; 00152 00153 00154 /******************************************************************** 00155 * Traps 00156 ********************************************************************/ 00157 /** 00158 * @name Function Traps 00159 */ 00160 /*@{*/ 00161 #define kPmSysGadgetLibTrapOpen sysLibTrapOpen 00162 #define kPmSysGadgetLibTrapClose sysLibTrapClose 00163 #define kPmSysGadgetLibTrapStatusGadgetTypeSet (sysLibTrapCustom) 00164 #define kPmSysGadgetLibTrapStatusGadgetsUpdate (sysLibTrapCustom+1) 00165 #define kPmSysGadgetLibTrapBbutInstallFromResource (sysLibTrapCustom+2) 00166 #define kPmSysGadgetLibTrapBbutInstallNewButton (sysLibTrapCustom+3) 00167 #define kPmSysGadgetLibTrapBbutSetLabel (sysLibTrapCustom+4) 00168 #define kPmSysGadgetLibTrapBbutSetBitmap (sysLibTrapCustom+5) 00169 #define kPmSysGadgetLibTrapBbutHitBigButton (sysLibTrapCustom+6) 00170 /*@}*/ 00171 00172 #endif // __PM_SYS_GADGET_LIB_COMMON_H__
| Top | Palm Developer Network © 2004-2008, Palm, Inc. All rights reserved. Generated on Fri Jun 13 10:06:55 2008 for Palm API Guide |