RESCODE.CPP
上传用户:zhongxx05
上传日期:2007-06-06
资源大小:33641k
文件大小:11k
源码类别:

Symbian

开发平台:

C/C++

  1. /* ***** BEGIN LICENSE BLOCK ***** 
  2.  * Version: RCSL 1.0/RPSL 1.0 
  3.  *  
  4.  * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved. 
  5.  *      
  6.  * The contents of this file, and the files included with this file, are 
  7.  * subject to the current version of the RealNetworks Public Source License 
  8.  * Version 1.0 (the "RPSL") available at 
  9.  * http://www.helixcommunity.org/content/rpsl unless you have licensed 
  10.  * the file under the RealNetworks Community Source License Version 1.0 
  11.  * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl, 
  12.  * in which case the RCSL will apply. You may also obtain the license terms 
  13.  * directly from RealNetworks.  You may not use this file except in 
  14.  * compliance with the RPSL or, if you have a valid RCSL with RealNetworks 
  15.  * applicable to this file, the RCSL.  Please see the applicable RPSL or 
  16.  * RCSL for the rights, obligations and limitations governing use of the 
  17.  * contents of the file.  
  18.  *  
  19.  * This file is part of the Helix DNA Technology. RealNetworks is the 
  20.  * developer of the Original Code and owns the copyrights in the portions 
  21.  * it created. 
  22.  *  
  23.  * This file, and the files included with this file, is distributed and made 
  24.  * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 
  25.  * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, 
  26.  * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS 
  27.  * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 
  28.  * 
  29.  * Technology Compatibility Kit Test Suite(s) Location: 
  30.  *    http://www.helixcommunity.org/content/tck 
  31.  * 
  32.  * Contributor(s): 
  33.  *  
  34.  * ***** END LICENSE BLOCK ***** */ 
  35. #include "hxcom.h"
  36. #include "hxtypes.h"
  37. #include "ResCode.h"
  38. #include "resource.h"
  39. #include "hxresult.h"
  40. #include "hxassert.h"
  41. #include "dcoreres.h"
  42. #include "hxheap.h"
  43. #ifdef _DEBUG
  44. #undef HX_THIS_FILE
  45. static char HX_THIS_FILE[] = __FILE__;
  46. #endif
  47. UINT32 ResCodeStr::LookupTable[_MAX_STRINGS][2] = 
  48. {
  49. (UINT32)HXR_FAILED,         IDS_ERR_GENERAL_ERROR, // 1 "General error. An error occurred"
  50. (UINT32)HXR_OUTOFMEMORY,          IDS_ERR_MEMORY_ERROR, // 2 "Out of memory."
  51.         (UINT32)HXR_INVALID_OPERATION,          IDS_ERR_INVALID_OPERATION,                      // 3 "Invalid Operation."
  52. // state errors/return values
  53. (UINT32)HXR_INVALID_PARAMETER,     IDS_ERR_INVALID_PARAMETER, // 8 "Invalid parameter. Unable to process request."
  54. (UINT32)HXR_NOT_INITIALIZED, IDS_ERR_NOT_INITIALIZED_ERROR, // 10 "Not initialized."
  55. // file errors
  56. (UINT32)HXR_INVALID_FILE,       IDS_ERR_INVALID_FILE, // 11 "This document is not a RealAudio document."
  57. (UINT32)HXR_INVALID_VERSION,       IDS_ERR_INVALID_VERSION, // 12 "Invalid RealAudio file version number."
  58. (UINT32)HXR_DOC_MISSING,   IDS_ERR_DOC_MISSING_ERROR, // 14 "Requested file not found. The link you followed may be outdated or inaccurate."
  59. (UINT32)HXR_BAD_FORMAT,          IDS_ERR_FORMAT_ERROR, // 15 "Unknown data format."
  60. // server errors
  61. (UINT32)HXR_NET_SOCKET_INVALID,   IDS_ERR_NET_SOCKET_INVALID, // 18 "Invalid socket error."
  62. (UINT32)HXR_NET_CONNECT,     IDS_ERR_NET_CONNECT_ERROR, // 19 "An error occurred while trying to connect to the RealAudio Server."
  63. (UINT32)HXR_BIND,           IDS_ERR_BIND_ERROR, // 20 "An error occurred binding to network socket."
  64. (UINT32)HXR_SOCKET_CREATE,   IDS_ERR_SOCKET_CREATE_ERROR, // 21 "An error occurred while creating a network socket."
  65. (UINT32)HXR_INVALID_HOST,          IDS_ERR_INVALID_HOST, // 22 "Requested server is not valid."
  66. (UINT32)HXR_INVALID_PATH,          IDS_ERR_INVALID_PATH, // 23 "Requested URL is not valid."
  67. (UINT32)HXR_NET_READ,       IDS_ERR_NET_READ_ERROR, // 24 "An error occurred while reading data from the network."
  68. (UINT32)HXR_NET_WRITE,       IDS_ERR_NET_WRITE_ERROR, // 25 "An error occurred while writing data to the network."
  69. (UINT32)HXR_NET_UDP,         IDS_ERR_NET_UDP_ERROR, // 26 "Player cannot receive UDP data packets. You may wish to try the TCP data 
  70. (UINT32)HXR_HTTP_CONNECT, IDS_ERR_HTTP_CONNECT_ERROR, // 25
  71. //    option in the Network Preferences. You may also want to configure your player 
  72. //    to use a firewall proxy. Please contact your system adminstrator for more information."
  73. (UINT32)HXR_SERVER_TIMEOUT,       IDS_ERR_SERVER_TIMEOUT, // 28 "Server timeout. Server not responding."
  74. (UINT32)HXR_SERVER_DISCONNECTED, IDS_ERR_SERVER_DISCONNECTED, // 29 "Server disconnected. The server may be too busy or not available at this time."
  75. (UINT32)HXR_DNR,           IDS_ERR_DNR_ERROR, // 30 "Cannot resolve the requested network address."
  76. (UINT32)HXR_OPEN_DRIVER,     IDS_ERR_OPEN_DRIVER_ERROR, // 31 "Cannot open the network drivers."
  77. (UINT32)HXR_BAD_SERVER,      IDS_ERR_BAD_SERVER_ERROR, // 34 "This server is not using a recognized protocol."
  78. (UINT32)HXR_ADVANCED_SERVER, IDS_ERR_ADVANCED_SERVER_ERROR, // 35 "You need a newer client to access this server. Please upgrade."
  79. (UINT32)HXR_OLD_SERVER,      IDS_ERR_OLD_SERVER_ERROR, // 36 "Connection closed. The host's version of the RealAudio Server is too old for this client."
  80. (UINT32)HXR_SERVER_ALERT,          IDS_ERR_SERVER_ALERT, // 45 "Server alert"
  81. // decoder errors
  82. (UINT32)HXR_DEC_NOT_FOUND,         IDS_ERR_DEC_NOT_FOUND, // 38 "File compression not supported. Cannot locate the requested RealAudio decoder."
  83. (UINT32)HXR_DEC_INVALID,         IDS_ERR_DEC_INVALID, // 39 "Invalid decoder."
  84. (UINT32)HXR_DEC_TYPE_MISMATCH,     IDS_ERR_DEC_TYPE_MISMATCH, // 40 "Decoder type mismatch. Cannot load the requested decoder."
  85. (UINT32)HXR_DEC_INIT_FAILED,       IDS_ERR_DEC_INIT_FAILED, // 41 "Requested RealAudio Decoder cannot be found or cannot be used on this machine."
  86. (UINT32)HXR_DEC_NOT_INITED,       IDS_ERR_DEC_NOT_INITED, // 42 "RealAudio Decoder was not initialized before attempting to use it."
  87. (UINT32)HXR_DEC_DECOMPRESS,  IDS_ERR_DEC_DECOMPRESS_ERROR, // 43 "An error occurred during decoding."
  88. (UINT32)HXR_NO_CODECS, IDS_ERR_NO_CODECS, // 87 "No RealAudio Codecs have been installed on your system."
  89. // proxy errors
  90. (UINT32)HXR_PROXY,           IDS_ERR_PROXY_ERROR, // 46 "Proxy status error"
  91. (UINT32)HXR_PROXY_RESPONSE,  IDS_ERR_PROXY_RESPONSE_ERROR, // 47 "Proxy invalid response error"
  92. (UINT32)HXR_ADVANCED_PROXY,  IDS_ERR_ADVANCED_PROXY_ERROR, // 48 "You need a newer client to access this proxy. Please upgrade."
  93. (UINT32)HXR_OLD_PROXY,       IDS_ERR_OLD_PROXY_ERROR, // 49 "Connection closed. The proxy is too old for this client."
  94. // audio errors
  95. (UINT32)HXR_AUDIO_DRIVER,    IDS_ERR_AUDIO_DRIVER_ERROR, // 50 "Cannot open audio device."
  96. // parsing errors
  97. (UINT32)HXR_INVALID_PROTOCOL,   IDS_ERR_INVALID_PROTOCOL_ERROR, // 51 "Invalid protocol specified in URL."
  98. (UINT32)HXR_INVALID_URL_OPTION, IDS_ERR_INVALID_URL_OPTION_ERROR, // 52 "Invalid option specified in URL."
  99. (UINT32)HXR_INVALID_URL_HOST,         IDS_ERR_INVALID_URL_HOST, // 53 "Invalid host string in requested URL."
  100. (UINT32)HXR_INVALID_URL_PATH,         IDS_ERR_INVALID_URL_PATH, // 54 "Invalid resource path string in requested URL."
  101. (UINT32)HXR_GENERAL_NONET,         IDS_ERR_GENERAL_NONET, // 55 "Error locating Winsock Services."
  102. // More errors
  103.     (UINT32)HXR_PERFECTPLAY_NOT_SUPPORTED, IDS_ERR_PERFECTPLAY_NOT_SUPPORTED, // 75, Requested server does not support PerfectPlay.
  104.     (UINT32)HXR_NO_LIVE_PERFECTPLAY, IDS_ERR_NO_LIVE_PERFECTPLAY, // 76, PerfectPlay not supported for live streams.
  105. (UINT32)HXR_PERFECTPLAY_NOT_ALLOWED, IDS_ERR_PERFECTPLAY_NOT_ALLOWED, // 78, PerfectPlay not allowed on this clip.
  106. (UINT32)HXR_MULTICAST_JOIN, IDS_ERR_MULTICAST_JOIN_ERROR, // 84, An error occured attempting to join multicast session.
  107. (UINT32)HXR_GENERAL_MULTICAST, IDS_ERR_GENERAL_MULTICAST_ERROR, // 85, An error occured accessing a multicast session.
  108. (UINT32)HXR_MULTICAST_UDP,         IDS_ERR_MULTICAST_UDP_ERROR, // 86 "Player cannot receive UDP data packets from multicast session. 
  109. // You may wish to try the TCP data option in the Network Preferences. 
  110. // You may also want to configure your player to use a firewall proxy. 
  111. // Please contact your system adminstrator for more information."
  112. (UINT32)HXR_SLOW_MACHINE, IDS_ERR_SLOW_MACHINE, // 88 "Your machine does not have enough CPU power to play this file in real time."
  113. (UINT32)HXR_INVALID_HTTP_PROXY_HOST, IDS_ERR_INVALID_HTTP_PROXY_HOST, // 90 Invalid hostname for HTTP proxy.
  114. (UINT32)HXR_INVALID_METAFILE, IDS_ERR_INVALID_METAFILE, // 90 Invalid hostname for HTTP proxy.
  115. (UINT32)HXR_NO_FILEFORMAT, IDS_ERR_MISSING_COMPONENTS,     // Missing components
  116. (UINT32)HXR_NO_RENDERER, IDS_ERR_MISSING_COMPONENTS,     // Missing components
  117. (UINT32)HXR_MISSING_COMPONENTS, IDS_ERR_MISSING_COMPONENTS,     // Missing components
  118. (UINT32)HXR_BAD_TRANSPORT, IDS_ERR_BAD_TRANSPORT,    // 94 Transport not recognized
  119. (UINT32)HXR_NOT_AUTHORIZED, IDS_ERR_NOT_AUTHORIZED,    // 95 Access Denied
  120. (UINT32)HXR_RIGHTS_EXPIRED, IDS_ERR_RIGHTS_EXPIRED,    // 1082 Digital Rights have expired.
  121. (UINT32)HXR_CHECK_RIGHTS, IDS_ERR_CHECK_RIGHTS, // Check for more Rights 
  122. (UINT32)HXR_RESTORE_SERVER_DENIED, IDS_ERR_RESTORE_SERVER_DENIED, // Restoration Denial from server.
  123. (UINT32)HXR_DEBUGGER_DETECTED, IDS_ERR_DEBUGGER_DETECTED, // Debugger detected.
  124. (UINT32)HXR_RESTORE_SERVER_CONNECT, IDS_ERR_RESTORE_SERVER_CONNECT, // Cannot connect to Restore server .
  125. (UINT32)HXR_RESTORE_SERVER_TIMEOUT, IDS_ERR_RESTORE_SERVER_TIMEOUT, // Restore server timeout.
  126. (UINT32)HXR_REVOKE_SERVER_CONNECT, IDS_ERR_REVOKE_SERVER_CONNECT, // Cannot connect to Revoke server.
  127. (UINT32)HXR_REVOKE_SERVER_TIMEOUT, IDS_ERR_REVOKE_SERVER_TIMEOUT, // Revoke server timeout.
  128. (UINT32)HXR_RESTORATION_COMPLETE, IDS_ERR_RESTORATION_COMPLETE, // restoration done.
  129. (UINT32)HXR_BACKUP_COMPLETE, IDS_ERR_BACKUP_COMPLETE, // backup done.
  130. (UINT32)HXR_TLC_NOT_CERTIFIED, IDS_ERR_TLC_NOT_CERTIFIED, // tlc not certified
  131. (UINT32)HXR_CORRUPTED_BACKUP_FILE, IDS_ERR_CORRUPTED_BACKUP_FILE, // corrupted backup file
  132. (UINT32)HXR_NOTENOUGH_BANDWIDTH, IDS_ERR_NOTENOUGH_BANDWIDTH,
  133. (UINT32)HXR_UNSUPPORTED_VIDEO,   IDS_ERR_UNSUPPORTED_VIDEO, // 105 "The file contains an unsupported video format"
  134. (UINT32)HXR_UNSUPPORTED_AUDIO,   IDS_ERR_UNSUPPORTED_AUDIO, // 106 "The file contains an unsupported audio format"
  135. (UINT32)HXR_TRY_AUTOCONFIG,   IDS_ERR_TRY_AUTOCONFIG // 107"AutoConfig needs to be performed"
  136. (UINT32)HXR_VIEW_SOURCE_NOCLIP, IDS_ERR_VIEW_SOURCE_NOCLIP, // 80 "No clip is avalible."
  137. (UINT32)HXR_VIEW_SOURCE_DISSABLED, IDS_ERR_VIEW_SOURCE_DISSABLED // 81 "The provider of this content has not granted permission to view the source."
  138. };
  139. ResCodeStr::ResCodeStr()
  140. {
  141. }
  142. ResCodeStr::~ResCodeStr()
  143. {
  144. }
  145. // Loads a new string into the m_ResString object
  146. BOOL ResCodeStr::LoadStr( UINT32 uResCode )
  147. {
  148. return m_ResString.LoadStr( FindResId(uResCode) );
  149. }
  150. // Find resource ID by string code
  151. UINT32 ResCodeStr::FindResId( UINT32 uResCode )
  152. {
  153. UINT index;
  154. for(index = 0; index < _MAX_STRINGS; index++)
  155. {
  156.     if(LookupTable[index][0] == uResCode)
  157.     {
  158. return LookupTable[index][1];
  159.     }
  160. }
  161. // Someone tried to load an unknown string. Trace back up
  162. // the call stack and determine the nature of the requested
  163. // string, and fix appropriately!
  164. HX_ASSERT(FALSE);
  165. /* By default return General Error */
  166. return LookupTable[0][1];
  167. }