changeset 22 | a009639409f5 |
parent 17 | 67c6ff54ec25 |
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); |