memspy/MemSpyServer/Source/MemSpyServerSession.cpp
changeset 22 a009639409f5
parent 17 67c6ff54ec25
equal deleted inserted replaced
17:67c6ff54ec25 22:a009639409f5
   133 
   133 
   134     TRACE( RDebug::Print( _L("[MemSpy] CMemSpyServerSession::ServiceL() - END - this: 0x%08x, fn: 0x%08x, id: %4d, client: %S"), this, aMessage.Function(), iClientThreadId, iClientThreadName ) );
   134     TRACE( RDebug::Print( _L("[MemSpy] CMemSpyServerSession::ServiceL() - END - this: 0x%08x, fn: 0x%08x, id: %4d, client: %S"), this, aMessage.Function(), iClientThreadId, iClientThreadName ) );
   135 	}
   135 	}
   136 
   136 
   137 // ---------------------------------------------------------
   137 // ---------------------------------------------------------
   138 // DoServiceL( const RMessage2& aMessage )
   138 // DoCmdServiceL( const RMessage2& aMessage )
   139 // ---------------------------------------------------------
   139 // ---------------------------------------------------------
   140 //
   140 //
   141 void CMemSpyServerSession::DoServiceL( const RMessage2& aMessage )
   141 void CMemSpyServerSession::DoCmdServiceL( const RMessage2& aMessage )
   142     {
   142     {
   143     TInt error = KErrNone;
   143     TInt error = KErrNone;
   144 
   144 
   145     // Check function attributes
   145     // Check function attributes
   146     const TInt function = aMessage.Function() & KMemSpyOpFlagsTypeMask;    
   146     const TInt function = aMessage.Function() & KMemSpyOpFlagsTypeMask;    
   406 			break;
   406 			break;
   407 			}
   407 			}
   408 		// --- KernelObjects related functions ---
   408 		// --- KernelObjects related functions ---
   409 		case EGetKernelObjectTypeCount:
   409 		case EGetKernelObjectTypeCount:
   410 			{
   410 			{
   411 			TInt iCount = EMemSpyDriverContainerTypeChunk - EMemSpyDriverContainerTypeFirst;
   411 			TInt iCount = EMemSpyDriverContainerTypeLast - EMemSpyDriverContainerTypeFirst;
   412 			//TInt iCount = EMemSpyDriverContainerTypeLast - EMemSpyDriverContainerTypeFirst;
       
   413 			TPckgBuf<TInt> ret( iCount );
   412 			TPckgBuf<TInt> ret( iCount );
   414 			aMessage.WriteL(0, ret);			
   413 			aMessage.WriteL(0, ret);			
   415 			break;
   414 			break;
   416 			}
   415 			}
   417 		case EGetKernelObjects:
   416 		case EGetKernelObjects:
   422 			CMemSpyEngineGenericKernelObjectContainer* model = iEngine.HelperKernelContainers().ObjectsAllL(); //contains all the objects
   421 			CMemSpyEngineGenericKernelObjectContainer* model = iEngine.HelperKernelContainers().ObjectsAllL(); //contains all the objects
   423 			CleanupStack::PushL( model );
   422 			CleanupStack::PushL( model );
   424 			
   423 			
   425 			for( TInt i=0, offset = 0; i<count(); i++, offset += sizeof( TMemSpyKernelObjectData ) )
   424 			for( TInt i=0, offset = 0; i<count(); i++, offset += sizeof( TMemSpyKernelObjectData ) )
   426 				{
   425 				{
   427 				TMemSpyKernelObjectData data;								
   426 				TMemSpyKernelObjectData data;
       
   427 				
       
   428 				TPtrC name(model->At(i).Name().Mid(1));
       
   429 				TInt tabPos = name.Locate('\t');
       
   430 				if (tabPos != KErrNotFound)
       
   431 					name.Set(name.Left(tabPos));
   428 												
   432 												
   429 				data.iName.Append( model->At(i).Name() );
   433 				data.iName.Copy(name);
   430 				data.iType = model->At(i).Type();
   434 				data.iType = model->At(i).Type();
   431 				data.iCount = model->At(i).Count();											
   435 				data.iCount = model->At(i).Count();											
   432 				data.iSize = model->At(i).Count() * model->At(i).Count();
   436 				data.iSize = model->At(i).Count() * model->At(i).Count();
   433 
   437 
   434 				TPckgBuf<TMemSpyKernelObjectData> buffer(data);
   438 				TPckgBuf<TMemSpyKernelObjectData> buffer(data);