memspyui/ui/avkon/src/MemSpyViewKernelContainers.cpp
changeset 35 98924d2efce9
parent 19 4b22a598b890
equal deleted inserted replaced
34:e0ec97ec3cc4 35:98924d2efce9
    54 
    54 
    55 void CMemSpyViewKernelContainers::ConstructL( const TRect& aRect, CCoeControl& aContainer, TAny* aSelectionRune )
    55 void CMemSpyViewKernelContainers::ConstructL( const TRect& aRect, CCoeControl& aContainer, TAny* aSelectionRune )
    56     {
    56     {
    57     _LIT( KTitle, "Kernel Objects" );
    57     _LIT( KTitle, "Kernel Objects" );
    58     SetTitleL( KTitle );
    58     SetTitleL( KTitle );
    59     //
    59     //    
    60     CMemSpyViewBase::ConstructL( aRect, aContainer, aSelectionRune );
    60     CMemSpyViewBase::ConstructL( aRect, aContainer, aSelectionRune );
    61     }
    61     }
    62 
    62 
    63 
    63 
    64 void CMemSpyViewKernelContainers::RefreshL()
    64 void CMemSpyViewKernelContainers::RefreshL()
   105 	
   105 	
   106 	for( TInt i=0 ; i<iKernelObjects.Count() ; i++ )
   106 	for( TInt i=0 ; i<iKernelObjects.Count() ; i++ )
   107 		{
   107 		{
   108 		TInt count = iKernelObjects[i]->Count();
   108 		TInt count = iKernelObjects[i]->Count();
   109 		TInt size = iKernelObjects[i]->Size();
   109 		TInt size = iKernelObjects[i]->Size();
   110 		const TMemSpySizeText sizeText( MemSpyEngineUtils::FormatSizeText( size, 0 ) ); //TODO: is this OK to call Engine Utils?
   110 		const TMemSpySizeText sizeText( MemSpyUiUtils::FormatSizeText( size, 0 ) );
   111 								
   111 								
   112 		HBufC* tempName = HBufC::NewL( iKernelObjects[i]->Name().Length() + 32 );
   112 		HBufC* tempName = HBufC::NewL( iKernelObjects[i]->Name().Length() + 32 );
   113 		//HBufC* tempName = HBufC::NewL( KMaxFullName );
   113 		
   114 		CleanupStack::PushL( tempName );
   114 		CleanupStack::PushL( tempName );
   115 		TPtr tempNamePtr( tempName->Des() );
   115 		TPtr tempNamePtr( tempName->Des() );
   116 		tempNamePtr.Copy( iKernelObjects[i]->Name() );									
   116 		tempNamePtr.Copy( iKernelObjects[i]->Name() );									
   117 		
   117 		
   118 		_LIT(KNameFormat, "\t%S\t\t%d item");
   118 		_LIT(KNameFormat, "\t%S\t\t%d item");
   119 		TPtr pName( tempName->Des() );
   119 		TPtr pName( tempName->Des() );
   120 		//
   120 		//
   121 		const TPtrC pType( TypeAsString( iKernelObjects[i]->Type() ) );
   121 		const TPtrC pType( MemSpyUiUtils::TypeAsString( iKernelObjects[i]->Type() ) );
   122 		//
   122 		//
   123 		pName.Format( KNameFormat, &pType, count );
   123 		pName.Format( KNameFormat, &pType, count );
   124 		//
   124 		//
   125 		if  ( count == 0 || count > 1 )
   125 		if  ( count == 0 || count > 1 )
   126 			{
   126 			{
   135 		}
   135 		}
   136 	
   136 	
   137 	CAknSettingStyleListBox* listbox = static_cast< CAknSettingStyleListBox* >( iListBox );	
   137 	CAknSettingStyleListBox* listbox = static_cast< CAknSettingStyleListBox* >( iListBox );	
   138 	listbox->Model()->SetItemTextArray( model );
   138 	listbox->Model()->SetItemTextArray( model );
   139 	listbox->Model()->SetOwnershipType( ELbmDoesNotOwnItemArray );
   139 	listbox->Model()->SetOwnershipType( ELbmDoesNotOwnItemArray );
   140 
       
   141 	/*
       
   142     // Take ownership of new model
       
   143     CMemSpyEngineHelperKernelContainers& kernelContainerManager = iEngine.HelperKernelContainers();
       
   144     CMemSpyEngineGenericKernelObjectContainer* model = kernelContainerManager.ObjectsAllL();
       
   145     delete iModel;
       
   146     iModel = model;
       
   147     
       
   148     // Set up list box
       
   149     CAknSettingStyleListBox* listbox = static_cast< CAknSettingStyleListBox* >( iListBox );
       
   150     listbox->Model()->SetItemTextArray( model );
       
   151     listbox->Model()->SetOwnershipType( ELbmDoesNotOwnItemArray );
       
   152     */
       
   153     }
   140     }
   154 
   141 
   155 
   142 
   156 TBool CMemSpyViewKernelContainers::HandleCommandL( TInt aCommand )
   143 TBool CMemSpyViewKernelContainers::HandleCommandL( TInt aCommand )
   157     {
   144     {
   172     }
   159     }
   173 
   160 
   174 
   161 
   175 void CMemSpyViewKernelContainers::OnCmdOutputAllContainerContentsL()
   162 void CMemSpyViewKernelContainers::OnCmdOutputAllContainerContentsL()
   176     {
   163     {
   177 	iMemSpySession.OutputAllContainerContents();
   164 	iMemSpySession.OutputAllContainerContents();		
   178 		
       
   179 	/*
       
   180     CMemSpyEngineOutputSink& sink = iEngine.Sink();
       
   181     iModel->OutputL( sink );
       
   182     */
       
   183     }
   165     }
   184 
       
   185 //formating methods
       
   186 TPtrC CMemSpyViewKernelContainers::TypeAsString( TMemSpyDriverContainerType aType )
       
   187     {
       
   188     _LIT( KTypeUnknown, "Unknown Type" );
       
   189     _LIT( KTypeThread, "Thread" );
       
   190     _LIT( KTypeProcess, "Process" );
       
   191     _LIT( KTypeChunk, "Chunk" );
       
   192     _LIT( KTypeLibrary, "Library" );
       
   193     _LIT( KTypeSemaphore, "Semaphore" );
       
   194     _LIT( KTypeMutex, "Mutex" );
       
   195     _LIT( KTypeTimer, "Timer" );
       
   196     _LIT( KTypeServer, "Server" );
       
   197     _LIT( KTypeSession, "Session" );
       
   198     _LIT( KTypeLogicalDevice, "Logical Device" );
       
   199     _LIT( KTypePhysicalDevice, "Physical Device" );
       
   200     _LIT( KTypeLogicalChannel, "Logical Channel" );
       
   201     _LIT( KTypeChangeNotifier, "Change Notifier" );
       
   202     _LIT( KTypeUndertaker, "Undertaker" );
       
   203     _LIT( KTypeMsgQueue, "Msg. Queue" );
       
   204     _LIT( KTypePropertyRef, "Property Ref." );
       
   205     _LIT( KTypeCondVar, "Conditional Var." );
       
   206      //
       
   207     TPtrC pType( KTypeUnknown );
       
   208     //
       
   209     switch( aType )
       
   210         {
       
   211     case EMemSpyDriverContainerTypeThread:
       
   212         pType.Set( KTypeThread );
       
   213         break;
       
   214     case EMemSpyDriverContainerTypeProcess:
       
   215         pType.Set( KTypeProcess );
       
   216         break;
       
   217     case EMemSpyDriverContainerTypeChunk:
       
   218         pType.Set( KTypeChunk );
       
   219         break;
       
   220     case EMemSpyDriverContainerTypeLibrary:
       
   221         pType.Set( KTypeLibrary );
       
   222         break;
       
   223     case EMemSpyDriverContainerTypeSemaphore:
       
   224         pType.Set( KTypeSemaphore );
       
   225         break;
       
   226     case EMemSpyDriverContainerTypeMutex:
       
   227         pType.Set( KTypeMutex );
       
   228         break;
       
   229     case EMemSpyDriverContainerTypeTimer:
       
   230         pType.Set( KTypeTimer );
       
   231         break;
       
   232     case EMemSpyDriverContainerTypeServer:
       
   233         pType.Set( KTypeServer );
       
   234         break;
       
   235     case EMemSpyDriverContainerTypeSession:
       
   236         pType.Set( KTypeSession );
       
   237         break;
       
   238     case EMemSpyDriverContainerTypeLogicalDevice:
       
   239         pType.Set( KTypeLogicalDevice );
       
   240         break;
       
   241     case EMemSpyDriverContainerTypePhysicalDevice:
       
   242         pType.Set( KTypePhysicalDevice );
       
   243         break;
       
   244     case EMemSpyDriverContainerTypeLogicalChannel:
       
   245         pType.Set( KTypeLogicalChannel );
       
   246         break;
       
   247     case EMemSpyDriverContainerTypeChangeNotifier:
       
   248         pType.Set( KTypeChangeNotifier );
       
   249         break;
       
   250     case EMemSpyDriverContainerTypeUndertaker:
       
   251         pType.Set( KTypeUndertaker );
       
   252         break;
       
   253     case EMemSpyDriverContainerTypeMsgQueue:
       
   254         pType.Set( KTypeMsgQueue );
       
   255         break;
       
   256     case EMemSpyDriverContainerTypePropertyRef:
       
   257         pType.Set( KTypePropertyRef );
       
   258         break;
       
   259     case EMemSpyDriverContainerTypeCondVar:
       
   260         pType.Set( KTypeCondVar );
       
   261         break;
       
   262         
       
   263     default:
       
   264         break;
       
   265         }
       
   266     //
       
   267     return pType;
       
   268     }
       
   269