--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/traceservices/tracefw/ost_trace_api/unit_test/devicedriver/inc/d32utrace.h Fri Jan 22 11:06:30 2010 +0200
@@ -0,0 +1,175 @@
+// Copyright (c) 2007-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:
+//
+
+
+
+/**
+ @file d32utrace.h
+ @internalTechnology
+*/
+
+#ifndef D32UTRACE_H
+#define D32UTRACE_H
+
+#ifndef __KERNEL_MODE__
+#include <e32std.h>
+#endif
+#include <e32cmn.h>
+#include <e32ver.h>
+#include "te_tracerecord.h"
+
+//needs to be the filename of the driver
+_LIT(KUTraceDDDisabledFilename, "te_ostdd_disabled.ldd");
+_LIT(KUTraceDDEnabledFilename, "te_ostdd_enabled.ldd");
+_LIT(KUTraceDDSystemDisabledFilename, "te_utracedd_system_disabled.ldd");
+_LIT(KUTraceDDSystemEnabledFilename, "te_utracedd_system_enabled.ldd");
+_LIT(KUTraceDDEnabled, "UTraceDDEnabled");
+_LIT(KUTraceDDDisabled, "UTraceDDDisabled");
+_LIT(KUTraceDDSystemEnabled, "UTraceDDSystemEnabled");
+_LIT(KUTraceDDSystemDisabled, "UTraceDDSystemDisabled");
+
+struct TTimerResults
+{
+TUint32 iTime;
+TUint32 iCount;
+TInt iError;
+};
+
+/**
+Interface to the utrace api.
+
+@internalTechnology
+*/
+class RUTrace : public RBusLogicalChannel
+ {
+public:
+ /**
+ Structure for holding driver capabilities information
+ (Just a version number in this example.)
+ */
+ class TCaps
+ {
+ public:
+ TVersion iVersion;
+ };
+
+ enum TControl
+ {
+ ETestTrace,
+ ETimeTrace
+ };
+
+ inline static const TDesC& Name();
+ inline static TVersion VersionRequired();
+
+ /**
+ Open channel to device driver.
+ Must be called before any other methods are used.
+ @return KErrNone or standard error code.
+ */
+ TInt Open();
+ TInt Close();
+ TInt TestTraces(TTraceConfigs aTraceData);
+ TInt TimeTraces(TTraceConfigs aTraceData, TUint32& aTime, TUint32& aCount);
+ };
+
+/**
+ Returns the driver's name
+*/
+inline const TDesC& RUTrace::Name()
+ {
+#ifdef SYMBIAN_TRACE_SYSTEM_IS_INCLUDED
+ #ifdef SYMBIAN_TRACE_EXECUTABLE_IS_INCLUDED
+ return KUTraceDDEnabledFilename;
+ #else
+ return KUTraceDDDisabledFilename;
+ #endif
+#else
+ #ifdef SYMBIAN_TRACE_EXECUTABLE_IS_INCLUDED
+ return KUTraceDDSystemEnabledFilename;
+ #else
+ return KUTraceDDSystemDisabledFilename;
+ #endif
+#endif
+ }
+/**
+ Returns the version number of the driver
+*/
+inline TVersion RUTrace::VersionRequired()
+ {
+ const TInt KMajorVersionNumber=1;
+ const TInt KMinorVersionNumber=0;
+ const TInt KBuildVersionNumber=3;
+ return TVersion(KMajorVersionNumber,KMinorVersionNumber,KBuildVersionNumber);
+ }
+
+#ifndef __KERNEL_MODE__
+
+TInt RUTrace::Open()
+ {
+ //this loads the driver in by using the filename
+ //of the driver (adding the ldd extension if missing)
+ TInt r = User::LoadLogicalDevice(Name());
+ if(r!=KErrNone && r!=KErrAlreadyExists)
+ return r;
+ //this uses the name of the logical device
+ //(the name of the LDD factory object, not the
+ //filename of the LDD DLL)
+ #ifdef SYMBIAN_TRACE_SYSTEM_IS_INCLUDED
+ #ifdef SYMBIAN_TRACE_EXECUTABLE_IS_INCLUDED
+ r = DoCreate(KUTraceDDEnabled, TVersion(), KNullUnit, NULL, NULL, EOwnerThread);
+ #else
+ r = DoCreate(KUTraceDDDisabled, TVersion(), KNullUnit, NULL, NULL, EOwnerThread);
+ #endif
+ #else
+ #ifdef SYMBIAN_TRACE_EXECUTABLE_IS_INCLUDED
+ r = DoCreate(KUTraceDDSystemEnabled, TVersion(), KNullUnit, NULL, NULL, EOwnerThread);
+ #else
+ r = DoCreate(KUTraceDDSystemDisabled, TVersion(), KNullUnit, NULL, NULL, EOwnerThread);
+ #endif
+ #endif
+
+ return r;
+ };
+
+TInt RUTrace::TestTraces(TTraceConfigs aTraceRecord)
+ {
+ TInt result = KErrNone;
+ TInt error = KErrNone;
+ error = DoControl(ETestTrace,(TAny*)&aTraceRecord,(TAny*)&result);
+ if(error != KErrNone)
+ return error;
+ return result;
+ }
+
+TInt RUTrace::TimeTraces(TTraceConfigs aTraceRecord, TUint32& aTime, TUint32& aCount)
+ {
+
+ TInt error = KErrNone;
+ TTimerResults timer;
+ error = DoControl(ETimeTrace,(TAny*)&aTraceRecord,(TAny*)&timer);
+ aTime = timer.iTime;
+ aCount = timer.iCount;
+ return error;
+ }
+
+TInt RUTrace::Close()
+ {
+ RBusLogicalChannel::Close();
+ return User::FreeLogicalDevice(RUTrace::Name());
+ }
+#endif //__KERNEL_MODE__
+
+#endif