tracesrv/tracecore/btrace_handler/test/d_tracecore/inc/d_tracecore.h
changeset 56 aa2539c91954
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tracesrv/tracecore/btrace_handler/test/d_tracecore/inc/d_tracecore.h	Fri Oct 08 14:56:39 2010 +0300
@@ -0,0 +1,120 @@
+// Copyright (c) 2006-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:
+// e32test\debug\d_tracecore.h
+// 
+//
+
+#ifndef D_TRACECORE_H
+#define D_TRACECORE_H
+
+#include <e32cmn.h>
+#include <e32ver.h>
+#ifndef __KERNEL_MODE__
+#include <e32std.h>
+#include <e32debug.h>
+#endif
+
+/**
+
+TcDriverParameters
+
+Parameters for activation/notification requests
+
+*/
+class TcDriverParameters
+    {
+    public:
+    TUint32 iComponentId;
+    TUint32 iGroupId;
+    };
+	
+/**
+Interface to the trace activation/deactivation mechanism
+*/
+class RTraceCoreTest : public RBusLogicalChannel
+	{
+public:
+    
+    enum TControl
+        {
+        EActivateTrace
+        , EDeactivateTrace
+        , ERefreshActivations
+        , ERequestTraceData
+        , EValidateFilterSync
+        , EDropNextTrace
+        , ERegisterActivationNotification
+        , ECheckActivationNotificationOk
+        };
+    
+#ifndef __KERNEL_MODE__
+	inline TInt Open()
+		{
+            return DoCreate(Name(),TVersion(0,1,1),KNullUnit,NULL,NULL,EOwnerThread);
+		}
+
+	inline TInt ActivateTrace(const TcDriverParameters& aDriverParameters, TInt aNumTraces=1)
+		{
+		return DoControl( EActivateTrace, (TAny*) &aDriverParameters, (TAny*)(aNumTraces));
+		}
+	
+    inline TInt DeactivateTrace(const TcDriverParameters& aDriverParameters, TInt aNumTraces=1)
+        {
+        return DoControl( EDeactivateTrace, (TAny*) &aDriverParameters, (TAny*)(aNumTraces) );
+        }	
+
+    inline TInt RefreshActivations()
+        {
+        return DoControl( ERefreshActivations );
+        }
+    
+    inline TInt ValidateFilterSync(const TcDriverParameters& aParams)
+        {
+        return DoControl( EValidateFilterSync, (TAny*)&aParams);
+        }   
+    
+    inline TInt DropNextTrace(TBool aDrop)
+        {
+        return DoControl( EDropNextTrace, (TAny*)(aDrop));
+        }
+    
+    inline TInt RegisterActivationNotification(const TcDriverParameters& aParams, TBool aRegister)
+        {
+        return DoControl( ERegisterActivationNotification, (TAny*) &aParams, (TAny*)(aRegister));
+        }     
+
+    inline TInt CheckActivationNotificationOk(TBool aShouldBeNotified)
+        {
+        return DoControl( ECheckActivationNotificationOk, (TAny*)(aShouldBeNotified));
+        }  
+
+    inline void RequestTraceData(TRequestStatus& aStatus, TDes8& aDes, TInt aFrameCount = 1)
+        {
+        TDes8* p = &aDes;
+        DoRequest( ERequestTraceData, aStatus, (TAny*) p, (TAny*)aFrameCount);
+        }   
+
+#endif //__KERNEL_MODE__
+
+	inline static const TDesC& Name();
+    
+	};
+
+inline const TDesC& RTraceCoreTest::Name()
+	{
+	_LIT(KTraceCoreName,"d_tracecore");
+	return KTraceCoreName;
+	}
+
+#endif //D_TRACECORE_H