RESCODE.CPP
上传用户:dangjiwu
上传日期:2013-07-19
资源大小:42019k
文件大小:12k
源码类别:

Symbian

开发平台:

Visual C++

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