tracesrv/tracecore/btrace_handler/src/TraceCoreHandler.cpp
changeset 56 aa2539c91954
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tracesrv/tracecore/btrace_handler/src/TraceCoreHandler.cpp	Fri Oct 08 14:56:39 2010 +0300
@@ -0,0 +1,113 @@
+// Copyright (c) 2007-2010 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:
+// Trace Core
+//
+
+#include "TraceCoreHandler.h"
+#include "TraceCore.h"
+#include "TraceCoreDebug.h"
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "TraceCoreHandlerTraces.h"
+#endif
+
+
+
+/**
+ * Constructor
+ */
+DTraceCoreHandler::DTraceCoreHandler()
+: iWriter( NULL )
+, iSettings( NULL )
+    {
+    }
+
+
+/**
+ * Destructor
+ */
+DTraceCoreHandler::~DTraceCoreHandler()
+    {
+    iWriter = NULL;
+    Unregister();
+    }
+    
+
+/**
+ * Called before SetWriter with interrupts enabled
+ * 
+ * @param aWriter The new writer
+ */       
+void DTraceCoreHandler::PrepareSetWriter( DTraceCoreWriter* /*aWriter*/ )
+    {
+    }
+
+
+/**
+ * Sets active writer
+ * 
+ * @param aWriter The new writer
+ */       
+void DTraceCoreHandler::SetWriter( DTraceCoreWriter* aWriter )
+    {
+    iWriter = aWriter;
+    }
+
+
+/**
+ * Sets active settings (saver)
+ * 
+ * @param aSettings The new settings
+ */       
+void DTraceCoreHandler::SetSettings( DTraceCoreSettings* aSettings )
+    {
+    iSettings = aSettings;
+    }
+
+
+/**
+ * Registers this handler to TraceCore
+ */
+TInt DTraceCoreHandler::Register()
+    {
+    TInt ret = KErrGeneral;
+    
+    // Get TraceCore
+    DTraceCore* traceCore = DTraceCore::GetInstance();
+    if ( traceCore != NULL )
+        {      
+        // Register this as a handler
+        ret = traceCore->RegisterHandler( *this );
+        }
+    OstTrace1( TRACE_IMPORTANT , DTRACECOREHANDLER_REGISTER_NO_TRACECORE, "DTraceCoreHandler::Register - %d", ret);
+    return ret;
+    }
+
+
+/**
+ * Unregisters this handler from trace core
+ */
+void DTraceCoreHandler::Unregister()
+    {
+    OstTrace0( TRACE_FLOW, DTRACECOREHANDLER_UNREGISTER_ENTRY, "> DTraceCoreHandler::Unregister");
+    // Get TraceCore
+    DTraceCore* traceCore = DTraceCore::GetInstance();
+    if ( traceCore != NULL )
+        {
+        // Unregister this handler
+        traceCore->UnregisterHandler( *this );
+        }
+    }
+
+// End of File