epoc32/include/mmf/common/mmfpaniccodes.h
author William Roberts <williamr@symbian.org>
Tue, 16 Mar 2010 16:12:26 +0000
branchSymbian2
changeset 2 2fe1408b6811
parent 0 061f57f2323e
child 4 837f303aceeb
permissions -rw-r--r--
Final list of Symbian^2 public API header files
     1 /*
     2 * Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
     3 * All rights reserved.
     4 * This component and the accompanying materials are made available
     5 * under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
     6 * which accompanies this distribution, and is available
     7 * at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
     8 *
     9 * Initial Contributors:
    10 * Nokia Corporation - initial contribution.
    11 *
    12 * Contributors:
    13 *
    14 * Description:
    15 *
    16 */
    17 
    18 #ifndef __MMF_COMMON_PANICCODES_H__
    19 #define __MMF_COMMON_PANICCODES_H__
    20 
    21 //Multimedia Framework Panic Codes
    22 
    23 /**
    24 @publishedAll
    25 @released
    26 
    27 Panic codes for CMMFAudioInput.
    28 */
    29 enum TMMFAudioInputPanicCode
    30 	{
    31 	/**
    32 	Panic in MMMFAudioInput::NewAudioInputL() if ImplementationUid!=KUidMmfAudioInput.
    33 	*/
    34 	EMMFAudioInputPanicBadUID = 1,
    35 	/**
    36 	MDevSoundObserver::ToneFinished() was called but not implemented.
    37 	*/
    38 	EMMFAudioInputPanicToneFinishedNotSupported,
    39 	/**
    40 	MDevSoundObserver::BufferToBeFilled() was called but not implemented.
    41 	*/
    42 	EMMFAudioInputPanicPlayerDataUsedNotSupported,
    43 	/**
    44 	MDevSoundObserver::PlayError() was called but not implemented.
    45 	*/
    46 	EMMFAudioInputPanicPlayErrorNotSupported,
    47 	/**
    48 	Panic if CMMFAudioInput::DevSound not loaded.
    49 	*/
    50 	EMMFAudioInputDevSoundNotLoaded
    51 	};
    52 
    53 /**
    54 @publishedAll
    55 @released
    56 
    57 Panic codes for CMMFAudioOutput
    58 */
    59 enum TMMFAudioOutputPanicCode
    60 	{
    61 	/**	Panic in MMMFAudioOutput::NewAudioInputL() if ImplementationUid!=KUidMmfAudioInput
    62 	*/
    63 	EMMFAudioOutputPanicBadUID = 1,
    64 
    65 	/**	MMMFAudioOutput::BufferFilledL() was called but not implemented
    66 	*/
    67 	EMMFAudioOutputPanicBufferFilledLNotSupported,
    68 
    69 	/**	MMMFAudioOutput::ToneFinished() was called but not implemented
    70 	*/
    71 	EMMFAudioOutputPanicToneFinishedNotSupported,
    72 
    73 	/** Unimplemented panic code.
    74 	*/
    75 	EMMFAudioOutputPanicRecordDataFilledNotSupported,
    76 
    77 	/**	MMMFAudioOutput::RecordError() was called but not implemented
    78 	*/
    79 	EMMFAudioOutputPanicRecordErrorNotSupported,
    80 
    81 	/**	Panic if CMMFAudioOutput::iMMFDevSound is NULL
    82 	*/
    83 	EMMFAudioOutputDevSoundNotLoaded, 
    84 
    85 	/**	Panic if trying to resume when resume is not supported by DevSound
    86 	*/
    87 	EMMFAudioOutputDevSoundResumingWhenNotSupported
    88 	};
    89 
    90 /**
    91 @publishedAll
    92 @released
    93 
    94 Panic codes for CMMFDescriptor
    95 */
    96 enum TMMFDescriptorPanicCode
    97 	{
    98 	/** MDataSource::BufferEmptiedL() was called but not implemented
    99 	*/
   100 	EMMFDescriptorPanicBufferEmptiedLNotSupported = 1,
   101 	/** MDataSink::BufferFilledL() was called but not implemented
   102 	*/
   103 	EMMFDescriptorPanicBufferFilledLNotSupported
   104 	};
   105 
   106 /**
   107 @publishedAll
   108 @released
   109 
   110 Panic codes for CMMFFile
   111 */
   112 enum TMMFFilePanicCode
   113 	{
   114 	/** MDataSource::BufferEmptiedL() called but not implemented
   115 	*/
   116 	EMMFFilePanicBufferEmptiedLNotSupported = 1,
   117 	/** MDataSink::BufferFilledL() called but not implemented
   118 	*/
   119 	EMMFFilePanicBufferFilledLNotSupported,
   120 	/** Panic code raised if the file is already open.
   121 	*/
   122 	EMMFFileAlreadyOpen
   123 	};
   124 
   125 /** 
   126 @publishedAll
   127 @deprecated
   128 
   129 Panic codes for CMMFDataPath
   130 */
   131 enum TMMFDataPathPanicCode
   132 	{
   133 	/**
   134 	The iState value is not the expected value (normally EPlaying). For example, when it is asked to initialise
   135 	the sink or source whilst it is already playing some audio data.
   136 	*/
   137 	EMMFDataPathPanicBadState = 1000000,
   138 
   139 	/**
   140 	The code has detected a condition that cannot occur - must be programming error
   141 	*/
   142 	EMMFDataPathPanicProgrammingError = 2000000,
   143 
   144 	/**
   145 	A panic in CMMFDataPath::EmptySinkBufferL() if sink status
   146 	is not EFull or EBeingFilled.
   147 	*/
   148 	EMMFDataPathPanicSinkError = 3000000
   149 	};
   150 
   151 /**
   152 @publishedAll
   153 @released
   154 
   155 Panic codes for RMMFSubThread.
   156 */
   157 enum TMMFSubThreadPanicCode
   158 	{
   159 	/** An attempt to close the subthread using RMMFSubThreadBase::Shutdown() has failed. The shutdown command
   160 	waits for both the death of the thread and the time-out of a timer to minimise the risk of deadlock.
   161 	If the timer times-out and the sub-thread is not dead then this thread is panicked in debug mode or,
   162 	in release mode the sub-thread is killed.
   163 	*/
   164 	EMMFSubThreadPanicTimedOut = 1
   165 	};
   166 
   167 /**
   168 @publishedAll
   169 @released
   170 
   171 Panic codes for MMFCodecBaseDefinitions
   172 */
   173 enum TMMFCodecBaseDefinitionsPanicCode
   174 	{
   175 	/**
   176 	Panic code raised when the codec TMMFTableAudioCodec::ConvertFast() method is not supported for this codec.
   177 	*/
   178 	EMMFCodecBaseDefinitionsPanicConvertFastNotSupported = 1	
   179 	};
   180 
   181 /**
   182 @publishedAll
   183 @released
   184 
   185 Panic codes for CMMFAudioController.
   186 */
   187 enum TMMFAudioControllerPanicCode
   188 	{
   189 
   190 	/** Panic code for a bad Unique Identifier. This is reserved.
   191 	*/
   192 	EMMFAudioControllerPanicBadUID = 1,
   193 
   194 	/** AddDataSourceL() failed to add a data source. This could be caused by an 
   195 	audio source that has been loaded but now does not exist.
   196 	*/
   197 	EMMFAudioControllerPanicDataSourceDoesNotExist,
   198 
   199 	/** AddDataSinkL() failed to add a sink. This could be caused by an audio sink 
   200 	that has been loaded but now does not exist.
   201 	*/
   202 	EMMFAudioControllerPanicDataSinkDoesNotExist
   203 	};
   204 
   205 /**
   206 @publishedAll
   207 @deprecated
   208 
   209 Panic codes for MMFDisplay
   210 */
   211 enum TMMFDisplayPanicCode
   212 	{
   213   	/** Panic code raised when this CMMFDisplay is in the wrong thread.
   214 	*/
   215 	EMMFDisplayPanicWrongThread = 1,
   216   	/** Panic code raised when the CMMFDisplay has been asked to do something before it is ready.
   217 	*/
   218 	EMMFDisplayPanicNotReady,
   219   	/** Panic code raised when the CMMFDisplay::CreateSinkBufferL() method is not supported.
   220 	*/
   221 	EMMFDisplayPanicCreateSinkBufferLNotSupported,
   222   	/** Panic code raised when the CMMFDisplay::BufferFilledL() method is not supported.
   223 	*/
   224 	EMMFDisplayPanicBufferFilledLNotSupported,
   225   	/** Panic code raised when the calling supplier does not exist.
   226 	*/
   227 	EMMFDisplayPanicCallingSupplierDoesNotExist,
   228   	/** Panic code raised when the CMMFDisplay method has an internal error.
   229 	*/
   230 	EMMFDisplayPanicRequestStatusError
   231 	};
   232 
   233 /**
   234 @publishedAll
   235 @deprecated
   236 
   237 Panic codes for MMFToneController.
   238 */
   239 enum TMMFToneControllerPanicCode 
   240 	{
   241 	/** Panic code raised when the tone controller encounters a bad Unique Identifier.
   242 	*/
   243 	EMMFToneControllerPanicBadUID = 1,
   244 	/** Panic code raised when the mixin class API encounters an unexpected call, for example
   245 	when the hardware has full buffer or when playback is stopped due to error or EOF.
   246 	*/
   247 	EMMFToneControllerPanicUnexpectedMixinApiCall,
   248 	/** Panic code raised when there is an error with the cancel command. Not used at present.
   249 	*/
   250 	EMMFToneControllerPanicBadCancelCustomCommand
   251 	};
   252 
   253 
   254 /**
   255 @publishedAll
   256 @released
   257 
   258 Panic codes for the audio media client
   259 */
   260 enum TMMFMediaClientPanicCode
   261 	{
   262   	/** The specified audio device mode is not supported.
   263 	*/
   264 	EMMFMediaClientPanicSetAudioDeviceModeNotSupported = 1,
   265 
   266 	/** An error occurred communicating with the audio device.
   267 	*/
   268 	EMMFMediaClientPanicServerCommunicationProblem,
   269 
   270 	/** The functions CMMFMdaAudioConvertUtility::OpenL() or CMMFMdaAudioRecorderUtility::DoPlay()
   271 	detected an invalid internal state
   272 	*/
   273 	EMMFMediaClientBadState,
   274 
   275 	/** The audio media client received a bad argument.
   276 	*/
   277 	EMMFMediaClientBadArgument,
   278 
   279 	/** Reserved function should not be called
   280 	*/
   281 	EMMFReservedCall
   282 	};
   283 
   284 /**
   285 @internalTechnology
   286 
   287 Panic codes for the sw codec wrapper
   288 */
   289 enum TMMFSwCodecWrapperPanicCode
   290 	{
   291 	/** Codec wrapper did not create an internal datapath
   292 	*/
   293 	EMMFSwCodecWrapperNoDataPath,
   294 
   295 	/** Codec wrapper does not have a device handle
   296 	*/
   297 	EMMFSwCodecWrapperNoDevice,
   298 
   299 	/** Codec wrapper codec returns non existant process result
   300 	*/
   301 	EMMFSwCodecWrapperBadCodec,
   302 
   303 	/** Sound driver returns unexpected buffer
   304 	*/
   305 	EMMFSwCodecWrapperBadBuffer
   306 	};
   307 
   308 
   309 /**
   310 @publishedAll
   311 @released
   312 
   313 Panic codes for the media client utility
   314 */
   315 enum TMMFMediaClientUtilityPanicCode 
   316 	{
   317 	/** Client utility is in a bad state
   318 	*/
   319 	EMMFMediaClientUtilityBadState = 1,
   320 	
   321 	/** Client utility is passed a bad argument
   322 	*/
   323 	EMMFMediaClientUtilityBadArgument
   324 	};
   325 
   326 #endif