diff -r 3ff3fecb12fe -r 6a82cd05fb1e sysanadatacapture/piprofiler/piprofiler_api/inc/PluginSampler.h --- a/sysanadatacapture/piprofiler/piprofiler_api/inc/PluginSampler.h Thu Feb 11 15:52:57 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,247 +0,0 @@ -/* -* 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: -* -*/ - - -#ifndef __PLUGINSAMPLER_H__ -#define __PLUGINSAMPLER_H__ - -/* - * The user-interface to the sampling device driver sued by the profiling engine - */ -// #include -// #include // versions removed from ProfilerConfig.h - -#ifndef __KERNEL_MODE__ -#include -#endif - -/* - * Forward declarations - */ -class TBapBuf; - -/** - * A minimal capabilities class for the Sampling device. - * It just returns the version number. - */ -class TCapsSamplerV01 - { -public: - TVersion iVersion; - }; - - -const TInt KMinDelay = 1; -const TInt KMaxDelay = 10000; - -/** - * The user device driver class for controlling the plugin sampler. - */ - -class RPluginSampler : public RBusLogicalChannel // public RPluginSampler -{ - friend class DPluginDriver; - public: - enum TControl - { - EOutputSettingsForTrace, - EMarkTraceActive, - EMarkTraceInactive, - ESample, - EStartSampling, - EGetSampleTime, - EGetSamplerVersion, - EStopAndWaitForEnd, - ESetSamplingPeriod, - EAdditionalTraceSettings, - EAdditionalTraceSettings2, - EAdditionalTraceSettings3, - EAdditionalTraceSettings4, - //EPrintTraces, - ECancelStreamRead, - ERequestFillThisStreamBuffer, - ERequestPrintStreamBuffer, - ETest - }; - - public: - #ifndef __KERNEL_MODE__ - - inline ~RPluginSampler(); - - /** - * - * Methods for controlling the sampler device - * - **/ - /** Open a channel to the sampling device **/ - virtual TInt Open() = 0; - - /** Set sampling period for sampler */ - inline void SetSamplingPeriod(TInt samplerId, TInt settings); - - /** Set additional trace settings **/ - inline void AdditionalSettingsForTrace(TInt samplerId,TInt settings); - inline void AdditionalSettingsForTrace2(TInt samplerId,TInt settings); - inline void AdditionalSettingsForTrace3(TInt samplerId,TInt settings); - inline void AdditionalSettingsForTrace4(TInt samplerId,TInt settings); - - /** Mark trace active **/ - inline void MarkTraceActive(TUint32 id); - - /** Mark trace inactive **/ - inline void MarkTraceInactive(TUint32 id); - - /** Sample command to kernel LDD**/ - inline void Sample(); - - /** Start tracing **/ - inline void StartSampling(); - - /** Stop tracing **/ - inline void StopSampling(); - - /** Get current sampling time **/ - inline TUint32 GetSampleTime(); - - /** Get sampler version as descriptor **/ - virtual void GetSamplerVersion(TDes*); - - /** Get next filled buffer in stream mode **/ - void GetNextbuffer( ); - - /** Request stream read **/ - void FillThisStreamBuffer(TBapBuf* aBuffer, TRequestStatus& aStatus); - - /** Request print buffer**/ - void PrintStreamBuffer(TDesC16* aBuffer); - - /** Run test case **/ - inline void Test(TUint32 testCase); - - #endif // !__KERNEL_MODE__ -}; - - -#ifndef __KERNEL_MODE__ -inline RPluginSampler::~RPluginSampler() -{ -} - -inline void RPluginSampler::AdditionalSettingsForTrace(TInt samplerId,TInt settings) - { - DoControl(EAdditionalTraceSettings, - reinterpret_cast(samplerId), - reinterpret_cast(settings)); - } - -inline void RPluginSampler::AdditionalSettingsForTrace2(TInt samplerId,TInt settings) - { - DoControl(EAdditionalTraceSettings2, - reinterpret_cast(samplerId), - reinterpret_cast(settings)); - } - -inline void RPluginSampler::AdditionalSettingsForTrace3(TInt samplerId,TInt settings) - { - DoControl(EAdditionalTraceSettings3, - reinterpret_cast(samplerId), - reinterpret_cast(settings)); - } - -inline void RPluginSampler::AdditionalSettingsForTrace4(TInt samplerId,TInt settings) - { - DoControl(EAdditionalTraceSettings4, - reinterpret_cast(samplerId), - reinterpret_cast(settings)); - } - -inline void RPluginSampler::SetSamplingPeriod(TInt samplerId, TInt settings) - { - DoControl(ESetSamplingPeriod, - reinterpret_cast(samplerId), - reinterpret_cast(settings)); - } - - -inline void RPluginSampler::MarkTraceActive(TUint32 id) -{ - DoControl(EMarkTraceActive, reinterpret_cast(id)); -} - -inline void RPluginSampler::MarkTraceInactive(TUint32 id) -{ - DoControl(EMarkTraceInactive, reinterpret_cast(id)); -} - -inline void RPluginSampler::Sample() - { - DoControl(ESample); - } - -inline void RPluginSampler::StartSampling() -{ - // at first, start the kernel side samplers - DoControl(EStartSampling); -} - -inline void RPluginSampler::StopSampling() -{ - // stop the device driver and the kernel mode samplers - TRequestStatus status; - status = KRequestPending; - DoRequest(EStopAndWaitForEnd,status); - User::WaitForRequest(status); -} - -inline TUint32 RPluginSampler::GetSampleTime() -{ - TUint32* sampleTime = new TUint32; - - DoControl(EGetSampleTime,reinterpret_cast(sampleTime)); - TUint32 value = *sampleTime; - delete sampleTime; - - return value; -} - -inline void RPluginSampler::GetSamplerVersion(TDes* aDes) -{ - TBuf8<16> buf; - DoControl(EGetSamplerVersion,(TAny*)&buf); - CnvUtfConverter::ConvertToUnicodeFromUtf8(*aDes,buf); -} - -inline void RPluginSampler::PrintStreamBuffer(TDesC16* aDes) -{ - DoControl(ERequestPrintStreamBuffer,reinterpret_cast(aDes)); -} - -inline void RPluginSampler::FillThisStreamBuffer(TBapBuf* aBuffer, TRequestStatus& aStatus) -{ - aStatus = KRequestPending; - DoRequest(ERequestFillThisStreamBuffer,aStatus,(TAny*)aBuffer); - -} - -inline void RPluginSampler::Test(TUint32 testCase) -{ - DoControl(ETest,reinterpret_cast(testCase)); -} - -#endif -#endif