--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mmsharing/mmshengine/inc/musenglogger.h Thu Dec 17 08:44:37 2009 +0200
@@ -0,0 +1,301 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: ?Description
+*
+*/
+
+
+#ifndef MUSENGLOGGER_H
+#define MUSENGLOGGER_H
+
+
+#include "muslogger.h"
+
+#if ( !_DEBUG || UNIT_TESTING ) // release or unit test build; no logs
+
+#define MUS_ENG_LOG_SESSION_STATE( aSession )
+#define MUS_ENG_LOG_SESSION_STATE_AND_STATUS( aSession, aStatusCode, aReasonPhrase )
+#define MUS_ENG_LOG_STREAM_STATE( aStream )
+#define MUS_ENG_LOG_SINK_STATES( aStream )
+#define MUS_ENG_LOG_SOURCE_STATE( aSource )
+#define MUS_ENG_LOG_SINK_STATE( aSink )
+#define MUS_ENG_LOG_STATUS( aStatusCode, aReasonPhrase )
+
+#else // debug build; logs
+
+#include <mcesession.h>
+#include <mceaudiostream.h>
+#include <mcecamerasource.h>
+#include <mcefilesource.h>
+#include <mcertpsource.h>
+#include <mcedisplaysink.h>
+#include <mcespeakersink.h>
+#include <mcefilesink.h>
+#include <mcertpsink.h>
+
+#define MUS_ENG_LOG_SESSION_STATE( aSession )\
+ {\
+ TBuf<15> state;\
+ switch ( (aSession).State() )\
+ {\
+ case CMceSession::EIdle:\
+ {\
+ state = _L("EIdle");\
+ break;\
+ }\
+ case CMceSession::EOffering :\
+ {\
+ state = _L("EOffering");\
+ break;\
+ }\
+ case CMceSession::EIncoming:\
+ {\
+ state = _L("EIncoming");\
+ break;\
+ }\
+ case CMceSession::EReserving :\
+ {\
+ state = _L("EReserving");\
+ break;\
+ }\
+ case CMceSession::EAnswering :\
+ {\
+ state = _L("EAnswering");\
+ break;\
+ }\
+ case CMceSession::EProceeding :\
+ {\
+ state = _L("EProceeding");\
+ break;\
+ }\
+ case CMceSession::EEstablished:\
+ {\
+ state = _L("EEstablished");\
+ break;\
+ }\
+ case CMceSession::ECancelling:\
+ {\
+ state = _L("ECancelling");\
+ break;\
+ }\
+ case CMceSession::ETerminating:\
+ {\
+ state = _L("ETerminating");\
+ break;\
+ }\
+ case CMceSession::ETerminated:\
+ {\
+ state = _L("ETerminated");\
+ break;\
+ }\
+ default:\
+ {\
+ state = _L("Unknown");\
+ break;\
+ }\
+ }\
+ MUS_LOG_TDESC( "mus: [ENGINE] Session state is ", state )\
+ }
+
+
+#define MUS_ENG_LOG_SESSION_STATE_AND_STATUS( aSession, aStatusCode, aReasonPhrase )\
+ {\
+ MUS_ENG_LOG_SESSION_STATE( aSession )\
+ MUS_ENG_LOG_STATUS( aStatusCode, aReasonPhrase )\
+ }
+
+
+#define MUS_ENG_LOG_STREAM_STATE( aStream )\
+ {\
+ TBuf<20> streamState;\
+ switch ( (aStream).State() )\
+ {\
+ case CMceMediaStream::EUninitialized:\
+ {\
+ streamState = _L("EIdle");\
+ break;\
+ }\
+ case CMceMediaStream::EInitialized:\
+ {\
+ streamState = _L("EInitialized");\
+ break;\
+ }\
+ case CMceMediaStream::EBuffering:\
+ {\
+ streamState = _L("EBuffering");\
+ break;\
+ }\
+ case CMceMediaStream::EIdle:\
+ {\
+ streamState = _L("EIdle");\
+ break;\
+ }\
+ case CMceMediaStream::EStreaming:\
+ {\
+ streamState = _L("EStreaming");\
+ break;\
+ }\
+ case CMceMediaStream::EDisabled:\
+ {\
+ streamState = _L("EDisabled");\
+ break;\
+ }\
+ case CMceMediaStream::ENoResources:\
+ {\
+ streamState = _L("ENoResources");\
+ break;\
+ }\
+ case CMceMediaStream::ETranscodingRequired:\
+ {\
+ streamState = _L("ETranscodingRequired");\
+ break;\
+ }\
+ case CMceMediaStream::ETranscoding:\
+ {\
+ streamState = _L("ETranscoding");\
+ break;\
+ }\
+ default:\
+ {\
+ streamState = _L("Unknown");\
+ break;\
+ }\
+ }\
+ if ( (aStream).Type() == KMceAudio )\
+ {\
+ MUS_LOG_TDESC( "mus: [ENGINE] AudioStream state is ", streamState )\
+ }\
+ else\
+ {\
+ MUS_LOG_TDESC( "mus: [ENGINE] VideoStream state is ", streamState )\
+ }\
+ MUS_ENG_LOG_SOURCE_STATE( (aStream).Source() )\
+ MUS_ENG_LOG_SINK_STATES( (aStream) )\
+ }
+
+
+#define MUS_ENG_LOG_SINK_STATES( aStream )\
+ {\
+ for ( TInt sinkIndex = 0; sinkIndex < aStream.Sinks().Count(); ++sinkIndex )\
+ {\
+ MUS_ENG_LOG_SINK_STATE( aStream.Sinks()[ sinkIndex ] )\
+ }\
+ }
+
+
+#define MUS_ENG_LOG_SOURCE_STATE( aSource )\
+ {\
+ if ( aSource )\
+ {\
+ TBuf<10> sourceState;\
+ if ( aSource->IsEnabled() )\
+ {\
+ sourceState = _L("enabled");\
+ }\
+ else\
+ {\
+ sourceState = _L("disabled");\
+ }\
+ switch ( aSource->Type() )\
+ {\
+ case KMceCameraSource:\
+ {\
+ MUS_LOG_TDESC( " CameraSource is ", sourceState )\
+ break;\
+ }\
+ case KMceFileSource:\
+ {\
+ MUS_LOG_TDESC( " FileSource is ", sourceState )\
+ break;\
+ }\
+ case KMceRTPSource:\
+ {\
+ MUS_LOG_TDESC( " RtpSource is ", sourceState )\
+ break;\
+ }\
+ default:\
+ {\
+ MUS_LOG_TDESC( " UnknownSource is ", sourceState )\
+ break;\
+ }\
+ }\
+ }\
+ else\
+ {\
+ MUS_LOG( " No source in stream" )\
+ }\
+ }
+
+#define MUS_ENG_LOG_SINK_STATE( aSink )\
+ {\
+ if ( aSink )\
+ {\
+ TBuf<10> sinkState;\
+ if ( aSink->IsEnabled() )\
+ {\
+ sinkState = _L("enabled");\
+ }\
+ else\
+ {\
+ sinkState = _L("disabled");\
+ }\
+ switch ( aSink->Type() )\
+ {\
+ case KMceDisplaySink:\
+ {\
+ MUS_LOG_TDESC( " DisplaySink is ", sinkState )\
+ break;\
+ }\
+ case KMceSpeakerSink:\
+ {\
+ MUS_LOG_TDESC( " SpeakerSink is ", sinkState )\
+ break;\
+ }\
+ case KMceRTPSink:\
+ {\
+ MUS_LOG_TDESC( " RtpSink is ", sinkState )\
+ break;\
+ }\
+ case KMceFileSink:\
+ {\
+ MUS_LOG_TDESC( " FileSink is ", sinkState )\
+ break;\
+ }\
+ default:\
+ {\
+ MUS_LOG_TDESC( " UnknownSink is ", sinkState )\
+ break;\
+ }\
+ }\
+ }\
+ }
+
+
+#define MUS_ENG_LOG_STATUS( aStatusCode, aReasonPhrase )\
+ {\
+ MUS_LOG1( " StatusCode is %d", aStatusCode )\
+ HBufC16* reasonPhrase = HBufC16::NewLC( aReasonPhrase.Length() );\
+ reasonPhrase->Des().Copy( aReasonPhrase );\
+ MUS_LOG_TDESC( " ReasonPhrase is ",(*reasonPhrase) )\
+ CleanupStack::PopAndDestroy( reasonPhrase );\
+ }
+
+
+
+#endif // _DEBUG
+
+
+#endif // MUSENGLOGGER_H
+
+// End of File