API Guide Home
(Online version only)

HsErrorClasses.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  * @file    HsErrorClasses.h
00008  * @version 1.0
00009  * @date    06/17/1999
00010  * @author  Vitaly Kruglikov
00011  *
00012  *  Public header file for the error classes used by Handspring
00013  *  viewer modules.
00014  *
00015  * <hr>
00016  */
00017 
00018 #ifndef   __HS_ERROR_CLASSES_H__
00019 #define   __HS_ERROR_CLASSES_H__
00020 
00021 
00022 #include <SystemMgr.h>    // for appErrorClass
00023 
00024 
00025 /************************************************************
00026  * Error Classes for each manager
00027  *************************************************************/
00028 
00029 // IMPORTANT!!!: DON'T DEFINE ERROR CODES BASED ON appErrorClass BELOW
00030 // SINCE THEY COLLIDE WITH APPLICATION-DEFINED ERROR CODE NUMBER SPACE.
00031 // IN PARTICULAR, SINCE OUR SYSTEM CODE RUNS IN THE SAME CONTEXT
00032 // AS APPLICATION CODE, THESE COLLISIONS CAN RESULT IN THE WRONG ERROR
00033 // STRING BEING REPORTED TO THE USER WHEN OUR ERROR STRING TABLE ID
00034 // COLLIDES WITH THE APP'S.  Base your system error code on OEM Error
00035 // Classes instead (see below).
00036 
00037 #define hsAppErrorClass     appErrorClass               // For top-level applications
00038 #define hsFfsErrorClass     (appErrorClass | 0x0100)    // Flash file system manager
00039 #define hsFlmErrorClass     (appErrorClass | 0x0200)    // Flash manager
00040 #define hsFlashErrorClass   (appErrorClass | 0x0300)    // Flash driver
00041 #define hsFttErrorClass     (appErrorClass | 0x0400)    // File Transfer Transport driver
00042                                                         //  (used by the File Installer app)
00043 #define hsFtcErrorClass     (appErrorClass | 0x0500)    // File Transfer Command driver
00044                                                         //  (used by the File Installer app)
00045 
00046 #define hsTasLibErrorClass  (appErrorClass | 0x0600)    // Task manager.
00047 
00048 #define hsHwmErrorClass     (appErrorClass | 0x0800)    // Phone HAL
00049 
00050 #define hsSrmExtErrorClass  (appErrorClass | 0x0A00)    // Srm Extensions
00051 #define hsSTEErrorClass     (appErrorClass | 0x0C00)    // Smart Text Engine
00052 
00053 // IMPORTANT: SEE IMPORTANT COMMENT ABOVE!!!
00054 
00055 
00056 /************************************************************
00057  * OEM Error Classes 
00058  *************************************************************/
00059 
00060 // IMPORTANT: THERE ARE *VERY FEW* OEM ERROR CLASSES RESERVED BY THE SYSTEM,
00061 // SO USE THEM VERY CAREFULLY. IF YOUR ERROR CODES WILL NOT BE SEEN
00062 // BY THE SYSTEM OUTSIDE YOUR CONTROL, CONSIDER USEING SOME OTHER ERROR
00063 // BASE.  THE RESERVED RANGE IS 0x7000 - 0x7F00 -- ONLY 16 ERROR CLASSES
00064 // ARE RESERVED. CONSIDER SHARING AN ERROR CLASS AMONG RELATED MODULES.
00065 
00066 #define hsOEMErrorClass             oemErrorClass
00067 
00068 #define hsOEMRadioErrorClass        (hsOEMErrorClass)   // Radio Errors
00069 
00070 // NetMaster library error class
00071 #define hsNetMasterErrorClass       (hsOEMErrorClass + 0x0100)  // 0x7100
00072 
00073 // NetPref library error class
00074 #define hsNetPrefLibErrorClass      (hsOEMErrorClass + 0x0200)  // 0x7200
00075 
00076 // Handspring Phone Library error class #2.  We ran out of error codes
00077 // in error class #1 (hsPhoneLibErrorClass_1), so we are reserving a
00078 // second error class for the Phone Library.
00079 #define hsPhoneLibErrorClass_2      (hsOEMErrorClass + 0x0300)  // 0x7300
00080 
00081 // Used by the ComChannel Provder. Which is the compoennt that controls the CDMA
00082 // and GSM radios
00083 #define hsCcpErrorClass             (hsOEMErrorClass + 0x0400)  // 0x7400
00084 
00085 // Handspring Sound Extensions Library class
00086 #define hsSoundLibErrorClass        (hsOEMErrorClass + 0x0500)  // 0x7500
00087 
00088 
00089 // Used by Handspring Extensions error codes defined in HsExtCommon.h.
00090 #define hsExtErrorClass             (hsOEMErrorClass + 0x0600)  // 0x7600
00091 
00092 // Message Store
00093 #define hsMSLErrorClass             (hsOEMErrorClass + 0x0700)  // 0x7700
00094 
00095 // Errors in portable Pm libraries (shared between PmKeyLib, PmSysGadgetLib,
00096 //  PmUIUtilLib, and PmSystemLib)
00097 #define pmLibErrorClass             (hsOEMErrorClass + 0x0800)  // 0x7800
00098 
00099 
00100 /************************************************************
00101  * Error Class Exceptions 
00102  *************************************************************/
00103 
00104 // Handspring Phone Library error class #1.  See allso hsPhoneLibErrorClass_2
00105 // for Phone Library error class #2.
00106 // A long time ago, Handspring accidentally used 0x4000 as the error base
00107 // for its Phone Library.  PalmSource reserved this error class for
00108 // Handspring per message from Bob Petersen dated
00109 // Friday, June 06, 2003 11:51 AM (RE: Question following up on LICINFO00574).
00110 //
00111 #define hsPhoneLibErrorClass_1      (0x4000)
00112 
00113 
00114 // IMPORTANT: THE ERROR CLASSES ABOVE MUST BE LESS THAN 0x7F00!!!
00115 
00116 
00117 #endif    // __HS_ERROR_CLASSES_H__ -- include once
00118 
00119 
00120 
00121 

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