epoc32/include/mmf/common/mmfpaniccodes.h
branchSymbian2
changeset 2 2fe1408b6811
parent 0 061f57f2323e
child 4 837f303aceeb
equal deleted inserted replaced
1:666f914201fb 2:2fe1408b6811
     1 mmfpaniccodes.h
     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