memspy/Engine/Source/Sink/MemSpyEngineOutputSinkDebug.cpp
changeset 0 a03f92240627
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/memspy/Engine/Source/Sink/MemSpyEngineOutputSinkDebug.cpp	Tue Feb 02 01:57:15 2010 +0200
@@ -0,0 +1,111 @@
+/*
+* Copyright (c) 2009 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:
+*
+*/
+
+#include "MemSpyEngineOutputSinkDebug.h"
+
+// System includes
+#include <e32svr.h>
+
+// Constants
+const TInt KMemSpyEngineOutputSinkDebugMaxLineLength = 0x100;
+
+
+CMemSpyEngineOutputSinkDebug::CMemSpyEngineOutputSinkDebug( CMemSpyEngine& aEngine )
+:   CMemSpyEngineOutputSink( aEngine )
+    {
+    }
+
+
+CMemSpyEngineOutputSinkDebug::~CMemSpyEngineOutputSinkDebug()
+    {
+    }
+
+
+void CMemSpyEngineOutputSinkDebug::ConstructL()
+    {
+    BaseConstructL();
+    }
+
+
+CMemSpyEngineOutputSinkDebug* CMemSpyEngineOutputSinkDebug::NewL( CMemSpyEngine& aEngine )
+    {
+    CMemSpyEngineOutputSinkDebug* self = new(ELeave) CMemSpyEngineOutputSinkDebug( aEngine );
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+
+TMemSpySinkType CMemSpyEngineOutputSinkDebug::Type() const
+    {
+    return ESinkTypeDebug;
+    }
+
+
+void CMemSpyEngineOutputSinkDebug::DataStreamBeginL( const TDesC& aContext, const TDesC& aFolder, const TDesC& aExtension )
+    {
+    DataStreamBeginL( aContext, aFolder, aExtension, ETrue );
+    }
+
+
+void CMemSpyEngineOutputSinkDebug::DataStreamBeginL( const TDesC& aContext, const TDesC& aFolder, const TDesC& aExtension, TBool aOverwrite )
+    {
+    DataStreamBeginL( aContext, aFolder, aExtension, aOverwrite, ETrue );
+    }
+
+
+void CMemSpyEngineOutputSinkDebug::DataStreamBeginL( const TDesC& /*aContext*/, const TDesC& /*aFolder*/, const TDesC& /*aExtension*/, TBool /*aOverwrite*/, TBool /*aUseTimeStamp*/ )
+    {
+    // Doesn't support data streams
+    }
+
+
+void CMemSpyEngineOutputSinkDebug::DataStreamEndL()
+    {
+    // Doesn't support data streams
+    }
+
+
+void CMemSpyEngineOutputSinkDebug::DoOutputLineL( const TDesC& aLine )
+    {
+    if  ( !aLine.Length() )
+        {
+        // Blank line is special case
+        RDebug::Printf( " " );
+        }
+    else
+        {
+        _LIT( KPrintFormat, "%S" );
+
+        HBufC* buf = aLine.AllocLC();
+        if  ( aLine.Length() > KMemSpyEngineOutputSinkDebugMaxLineLength )
+            {
+            buf->Des().SetLength( KMemSpyEngineOutputSinkDebugMaxLineLength );
+            }
+        RDebug::Print( KPrintFormat, buf );
+        CleanupStack::PopAndDestroy( buf );
+        }
+    }
+
+
+void CMemSpyEngineOutputSinkDebug::DoOutputRawL( const TDesC8& /*aData*/ )
+    {
+    User::Leave( KErrNotSupported );
+    }
+
+