equal
deleted
inserted
replaced
29 #include <memspy/driver/memspydriverenumerationsshared.h> |
29 #include <memspy/driver/memspydriverenumerationsshared.h> |
30 // Servers |
30 // Servers |
31 #include <memspy/engine/memspyserverdata.h> |
31 #include <memspy/engine/memspyserverdata.h> |
32 // ECom |
32 // ECom |
33 #include <memspy/engine/memspyecomdata.h> |
33 #include <memspy/engine/memspyecomdata.h> |
|
34 // Window groups |
|
35 #include <memspy/engine/memspyenginehelperwindowserver.h> |
34 |
36 |
35 // IMPLEMENTATION |
37 // IMPLEMENTATION |
36 |
38 |
37 EXPORT_C RMemSpySession::RMemSpySession() |
39 EXPORT_C RMemSpySession::RMemSpySession() |
38 { |
40 { |
502 } |
504 } |
503 CleanupStack::Pop(aImplementations.Count()); |
505 CleanupStack::Pop(aImplementations.Count()); |
504 CleanupStack::PopAndDestroy(buffer); |
506 CleanupStack::PopAndDestroy(buffer); |
505 } |
507 } |
506 |
508 |
|
509 EXPORT_C void RMemSpySession::GetWindowGroupsL(RArray<CMemSpyApiWindowGroup*> &aGroups) |
|
510 { |
|
511 TPckgBuf<TInt> count; |
|
512 User::LeaveIfError(SendReceive(EMemSpyClientServerOpGetWindowGroupCount, TIpcArgs(&count))); |
|
513 |
|
514 TInt requestedCount = count(); |
|
515 HBufC8* buffer = HBufC8::NewLC(requestedCount * sizeof(TMemSpyEngineWindowGroupDetails)); |
|
516 TPtr8 bufferPtr(buffer->Des()); |
|
517 |
|
518 User::LeaveIfError(SendReceive(EMemSpyClientServerOpGetWindowGroups, TIpcArgs(&count, &bufferPtr))); |
|
519 aGroups.Reset(); |
|
520 |
|
521 TInt receivedCount = Min(count(), requestedCount); |
|
522 for(TInt i=0, offset = 0; i<requestedCount; i++, offset+=sizeof(TMemSpyEngineWindowGroupDetails)) |
|
523 { |
|
524 TPckgBuf<TMemSpyEngineWindowGroupDetails> data; |
|
525 data.Copy(bufferPtr.Ptr()+offset, sizeof(TMemSpyEngineWindowGroupDetails)); |
|
526 aGroups.AppendL(CMemSpyApiWindowGroup::NewLC(data())); |
|
527 } |
|
528 CleanupStack::Pop(aGroups.Count()); |
|
529 CleanupStack::PopAndDestroy(buffer); |
|
530 } |
|
531 |
507 EXPORT_C void RMemSpySession::DumpKernelHeap() |
532 EXPORT_C void RMemSpySession::DumpKernelHeap() |
508 { |
533 { |
509 SendReceive( EMemSpyClientServerOpDumpKernelHeap ); |
534 SendReceive( EMemSpyClientServerOpDumpKernelHeap ); |
510 } |
535 } |
511 |
536 |