userlibandfileserver/fileserver/ftrace/d_ftrace.cpp
changeset 31 56f325a607ea
parent 0 a41df078684a
child 258 880ff05ad710
--- a/userlibandfileserver/fileserver/ftrace/d_ftrace.cpp	Mon Dec 21 16:14:42 2009 +0000
+++ b/userlibandfileserver/fileserver/ftrace/d_ftrace.cpp	Wed Dec 23 11:43:31 2009 +0000
@@ -23,16 +23,8 @@
 
 #include "f32trace.h"
 
-#define __DLOGICAL_CHANNEL_BASE__
-
-#ifdef __DLOGICAL_CHANNEL_BASE__
 DMutex* TheTraceMutex = NULL;
 _LIT(KLitTraceMutexName, "FTRACE_MUTEX");
-#else
-TDynamicDfcQue* gDfcQ;
-const TInt KDFTraceThreadPriority = 27;
-_LIT(KDFTraceThread,"DFTraceThread");
-#endif
 
 const TInt KMajorVersionNumber=1;
 const TInt KMinorVersionNumber=0;
@@ -49,11 +41,7 @@
 	virtual TInt Create(DLogicalChannelBase*& aChannel); 	//overriding pure virtual
 	};
 
-#ifdef __DLOGICAL_CHANNEL_BASE__
 class DLddFTrace : public DLogicalChannelBase
-#else
-class DLddFTrace : public DLogicalChannel
-#endif
 	{
 public:
 	DLddFTrace();
@@ -61,11 +49,7 @@
 protected:
 	virtual TInt DoCreate(TInt aUnit, const TDesC8* anInfo, const TVersion& aVer);
 
-#ifdef __DLOGICAL_CHANNEL_BASE__
 	virtual TInt Request(TInt aReqNo, TAny* a1, TAny* a2);
-#else
-	virtual void HandleMsg(class TMessageBase *);
-#endif
 
 private:
 	void DoCancel(TInt aReqNo);
@@ -73,16 +57,13 @@
 	TInt DoControl(TInt aFunction, TAny* a1, TAny* a2);
 
 private:
-	DThread* iClient;
     };
 
 DECLARE_STANDARD_LDD()
 	{
-#ifdef __DLOGICAL_CHANNEL_BASE__
 	TInt r = Kern::MutexCreate(TheTraceMutex,  KLitTraceMutexName, KMutexOrdNone);
 	if (r != KErrNone)
 		return NULL;
-#endif
 
 	return new DLddFactoryFTrace;
 	}
@@ -103,13 +84,6 @@
 
 TInt DLddFactoryFTrace::Install()
 	{
-#ifndef __DLOGICAL_CHANNEL_BASE__
-	// Allocate a kernel thread to run the DFC 
-	TInt r = Kern::DynamicDfcQCreate(gDfcQ, KDFTraceThreadPriority, KDFTraceThread);
-	if (r != KErrNone)
-		return r; 	
-#endif
-
     TPtrC name=_L("FTrace");
 	return(SetName(&name));
 	}
@@ -120,21 +94,14 @@
 
 DLddFactoryFTrace::~DLddFactoryFTrace()
 	{
-#ifndef __DLOGICAL_CHANNEL_BASE__
-	if (gDfcQ)
-		gDfcQ->Destroy();
-#endif
 	}
 
 DLddFTrace::DLddFTrace()
 	{
-	iClient=&Kern::CurrentThread();
-	((DObject*)iClient)->Open();	// can't fail since thread is running
     }
 
 DLddFTrace::~DLddFTrace()
 	{
-  	Kern::SafeClose((DObject*&)iClient,NULL);
     }
 
 TInt DLddFTrace::DoCreate(TInt /*aUnit*/, const TDesC8* /*aInfo*/, const TVersion& aVer)
@@ -143,11 +110,6 @@
 	if (!Kern::QueryVersionSupported(TVersion(KMajorVersionNumber,KMinorVersionNumber,KBuildVersionNumber),aVer))
 		return(KErrNotSupported);
 
-#ifndef __DLOGICAL_CHANNEL_BASE__
-	SetDfcQ(gDfcQ);
-	iMsgQ.Receive();
-#endif
-
     return(KErrNone);
 	}
 
@@ -155,7 +117,6 @@
 	{
 	}
 
-#ifdef __DLOGICAL_CHANNEL_BASE__
 TInt DLddFTrace::Request(TInt aReqNo, TAny* a1, TAny* a2)
 	{
 	NKern::ThreadEnterCS();
@@ -167,49 +128,11 @@
 	return r;
 	}
 
-#else
-
-void DLddFTrace::HandleMsg(TMessageBase* aMsg)
-    {
-    TThreadMessage& m=*(TThreadMessage*)aMsg;
-    TInt id=m.iValue;
-    
-	if (id==(TInt)ECloseMsg)
-		{
-		m.Complete(KErrNone, EFalse);
-		return;
-		}
-    else if (id==KMaxTInt)
-		{
-		// DoCancel
-		m.Complete(KErrNone,ETrue);
-		return;
-		}
-
-    if (id<0)
-		{
-		// DoRequest
-		TRequestStatus* pS=(TRequestStatus*)m.Ptr0();
-		
-		// WDP FIXME change this to use the Kern::RequestComplete() API which doesn't take a thread pointer
-		// when this becomes available
-    	Kern::RequestComplete(iClient, pS, KErrNotSupported);
-		m.Complete(KErrNotSupported, ETrue);
-		}
-    else
-		{
-		// DoControl
-		TInt r=DoControl(id, m.Ptr0(), m.Ptr1());
-		m.Complete(r,ETrue);
-		}
-	}
-#endif	// __DLOGICAL_CHANNEL_BASE__
 
 const TUint KTraceBufferSize = 4096;
 TUint8 gTraceBuffer[KTraceBufferSize];
 
 
-
 #define MIN(a,b)			((a) < (b) ? (a) : (b))
 
 TInt DLddFTrace::DoControl(TInt aFunction, TAny* a1, TAny* a2)
@@ -235,19 +158,12 @@
 
 			TraceArgs args={0};
 
-#ifdef __DLOGICAL_CHANNEL_BASE__
 			XTRAP(r, XT_DEFAULT, kumemget32(&args, a1, sizeof(args)));
 			if (r != KErrNone)
 				return r;
-#else
-			r = Kern::ThreadRawRead(iClient, a1, &args, sizeof(args));
-			if (r != KErrNone)
-				return r;
-#endif
-
 
 			// current descriptor - MUST be either a TPtr8 or a TBuf8<4>
-			TUint32 desc[2] = {0, 0};	
+			TUint32 desc[2] = {0, 0};
 			TUint32& desLength = desc[0];
 
 			TUint offset = 0;
@@ -260,13 +176,7 @@
 			for (TInt n=0; n< args.iDescriptorCount; n++, des = (TDesC8*) (((TUint8*) des) + desSize) )
 				{
 
-#ifdef __DLOGICAL_CHANNEL_BASE__
 				XTRAP(r, XT_DEFAULT, kumemget32(desc, des, sizeof(desc)));
-#else
-				r = Kern::ThreadRawRead(iClient, des, desc, sizeof(desc));
-				if (r != KErrNone)
-					return r;
-#endif
 				TUint32 desType = desLength >> KShiftDesType;
 				desLength &= (TUint) (KMaskDesLength);
 				if (desType == EPtrC)
@@ -288,19 +198,12 @@
 					return KErrArgument;
 
 				TUint len = MIN(KTraceBufferSize - offset, desLength);
-#ifdef __DLOGICAL_CHANNEL_BASE__
 				XTRAP(r, XT_DEFAULT, kumemget(gTraceBuffer+offset, (const TUint8*) desc[1], len));
-#else
-				TPtr8 dest(gTraceBuffer+offset, len, len);
-				r = Kern::ThreadDesRead(iClient, des, dest, 0, KChunkShiftBy0);
-				if (r != KErrNone)
-					return r;
-#endif
 				offset+= len;
-				
+
 				}
 
-			BTrace::OutFilteredBig 
+			BTrace::OutFilteredBig
 				(BTRACE_HEADER_C(8,args.iCategory, 0), args.iUid, gTraceBuffer, offset);
 
 			r=KErrNone;