--- a/testapps/rschandler/Common/src/ResourceHandler_ResourceDetails.cpp Fri Jun 11 16:24:17 2010 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,405 +0,0 @@
-// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-
-#include "ResourceHandler.h"
-
-/**
-Gets process details for a process with the given name - assumed to be a valid process
-name.
-*/
-void TResourceDetails::GetProcessData(TDesC& aProcessName)
- {
- RProcess process;
- process.Open(aProcessName);
-
- // ID
- iProcessData.iIdString.Format(KFormatDec,process.Id().Id());
-
- // Store Process Name
- iProcessData.iProcessName.Copy(aProcessName);
- //to increase readability of resource table
- AppendDotsToResourceName(iProcessData.iProcessName);
-
- // Priority
- iProcessData.iPriorityString.Format(KFormatDec,process.Priority());
-
- // Protected
-
- // System
-
- // Owner
- RProcess owner;
- TInt err = KErrNotSupported;
- if (err == KErrNone)
- {
- iProcessData.iOwnerIdString.Format(KFormatHex,owner.Id().Id());
- }
- else
- {
- iProcessData.iOwnerIdString.Format(KFormatHex,0);
- }
-
- // Exit Type
- TExitType et = process.ExitType();
- switch(et)
- {
- case(0): iProcessData.iExitTypeString.Copy((_L("Kill"))); break;
- case(1): iProcessData.iExitTypeString.Copy((_L("Terminate"))); break;
- case(2): iProcessData.iExitTypeString.Copy((_L("Panic"))); break;
- case(3): iProcessData.iExitTypeString.Copy((_L("Pending"))); break;
- default: iProcessData.iExitTypeString.Copy((_L("Error!"))); break;
- };
-
- // Exit Reason
- TInt er = process.ExitReason();
- if (er==0) iProcessData.iExitReasonString.Copy(_L("n/a"));
- else
- {
- iProcessData.iExitReasonString.Format(KFormatHex,(TInt)er);
- }
-
- // Exit Category
- TExitCategoryName ec;
- ec = process.ExitCategory();
- if (ec.Length() == 0) iProcessData.iExitCategoryName.Copy(_L("n/a"));
- else iProcessData.iExitCategoryName.Copy(ec);
-
- // UIDs
- TUidType uids = process.Type();
- iProcessData.iUidType0String.Format(KFormatHex, uids[0].iUid);
- iProcessData.iUidType1String.Format(KFormatHex, uids[1].iUid);
- iProcessData.iUidType2String.Format(KFormatHex, uids[2].iUid);
-
- // File
- iProcessData.iFileName = process.FileName();
-
- process.Close();
- }
-
-/**
-Gets process details for a drive with the properties. These properties are assumed
-to be a valid.
-*/
-void TResourceDetails::GetDriveData(TInt aValidDriveNum, TDriveUnit aDriveUnit, TVolumeInfo aVolumeInfo)
- {
- iDriveData.iDriveName.Copy(aDriveUnit.Name());
- iDriveData.iVolumeName.Copy(aVolumeInfo.iName);
- iDriveData.iDriveNumberString.Format(KFormatDec, aValidDriveNum);
-
- TBufC<20> mediaInfo;
- switch (aVolumeInfo.iDrive.iType)
- {
- case EMediaNotPresent:mediaInfo=_L("EMediaNotPresent");break;
- case EMediaUnknown:mediaInfo=_L("EMediaUnknown");break;
- case EMediaFloppy:mediaInfo=_L("EMediaFloppy");break;
- case EMediaHardDisk:mediaInfo=_L("EMediaHardDisk");break;
- case EMediaCdRom:mediaInfo=_L("EMediaCdRom");break;
- case EMediaRam:mediaInfo=_L("EMediaRam");break;
- case EMediaFlash:mediaInfo=_L("EMediaFlash");break;
- case EMediaRom:mediaInfo=_L("EMediaRom");break;
- case EMediaRemote:mediaInfo=_L("EMediaRemote");break;
- default:mediaInfo=_L("Other");break;
- }
-
- iDriveData.iMediaString.Copy(mediaInfo);
- iDriveData.iAttributesString.Format(KFormatHex,aVolumeInfo.iDrive.iDriveAtt);
- iDriveData.iSpaceString.Format(KFormatDec64,aVolumeInfo.iSize);
- #if defined(WINS)
- iDriveData.iFreeSpaceString.Copy(_L("Unavail."));
- #else
- if (aVolumeInfo.iFree.GetTInt() > aVolumeInfo.iSize.GetTInt()) // this value is odd on wins
- {
- iDriveData.iFreeSpaceString.Format(KFormatDec,aVolumeInfo.iSize.GetTInt());
- }
- else if (aVolumeInfo.iFree.GetTInt() < 0)
- {
- iDriveData.iFreeSpaceString.Copy(_L("InvalidVal"));
- }
- else
- {
- iDriveData.iFreeSpaceString.Format(KFormatDec,aVolumeInfo.iFree.GetTInt());
- }
- #endif
- }
-
-/**
-Gets thread details for a thread with the given name - assumed to be a valid name.
-*/
-void TResourceDetails::GetThreadData(TDesC& aThreadName)
- {
- RThread thread;
- TInt err = thread.Open(aThreadName);
- if (err == KErrNone)
- {
- // ID
- iThreadData.iIdString.Format(KFormatDec,thread.Id().Id());
-
- // Name
- iThreadData.iThreadName.Copy(aThreadName);
-
- //to increase readability of resource table
- AppendDotsToResourceName(iThreadData.iThreadName);
-
- // Priority
- iThreadData.iPriorityString.Format(KFormatDec,thread.Priority());
-
- // Owner Process
- RProcess owner;
- thread.Process(owner);
- iThreadData.iOwnerIdString.Format(KFormatDec,owner.Id().Id());
-
- owner.Close();
-
- // Stack Size
-
- TInt aHeapSize = 0, aStackSize = 0;
- iThreadData.iStackSizeString.Format(KFormatHex,aStackSize);
- iThreadData.iHeapSizeString.Format(KFormatHex,aHeapSize);
-
- // Protected
-
- // System
-
- // Exit Type
- TExitType et = thread.ExitType();
- switch(et)
- {
- case(0): iThreadData.iExitTypeString.Copy((_L("Kill"))); break;
- case(1): iThreadData.iExitTypeString.Copy((_L("Terminate"))); break;
- case(2): iThreadData.iExitTypeString.Copy((_L("Panic"))); break;
- case(3): iThreadData.iExitTypeString.Copy((_L("Pending"))); break;
- default: iThreadData.iExitTypeString.Copy((_L("Error!"))); break;
- };
-
- // Exit Reason
-
- TInt er = thread.ExitReason();
- if (er==0) iThreadData.iExitReasonString.Copy(_L("n/a"));
- else iThreadData.iExitReasonString.Format(KFormatHex,(TInt)er);
-
- // Exit Category
-
- TExitCategoryName ec;
- ec = thread.ExitCategory();
- if (ec.Length() == 0) iThreadData.iExitCategoryName.Copy(_L("n/a"));
- else iThreadData.iExitCategoryName.Copy(ec);
-
- thread.Close();
- }
- }
-
-/**
-Gets details for a chunk using the given TFindChunk and name.
-*/
-void TResourceDetails::GetChunkData(TFindChunk findHb, TDesC& aChunkName)
- {
- RChunk chunk;
- chunk.Open(findHb);
-
- // Name
- iChunkData.iChunkName.Copy(aChunkName);
-
- //to increase readability of resource table
- AppendDotsToResourceName(iChunkData.iChunkName);
-
- // Size
- TInt chunkSize = 0;
- iChunkData.iSizeString.Format(KFormatHex,chunkSize);
-
- // Max Size
-
- TInt chunkMaxSize = 0;
- iChunkData.iMaxSizeString.Format(KFormatHex,chunkMaxSize);
-
- // Readable
- if (chunk.IsReadable()) iChunkData.iReadableIndicator.Copy(_L("R"));
- else iChunkData.iReadableIndicator.Copy(_L("-"));
-
- // Writeable
- if (chunk.IsWritable()) iChunkData.iWritableIndicator.Copy(_L("W"));
- else iChunkData.iWritableIndicator.Copy(_L("-"));
-
- chunk.Close();
- }
-
-/**
-Gets details for a mutex using the given TFindMutex and name.
-*/
-void TResourceDetails::GetMutexData(TFindMutex& findHb, TDesC& aMutexName)
- {
- RMutex mutex;
-
- // Name
- iMutexData.iMutexName.Copy(aMutexName);
-
- //to increase readability of resource table
- AppendDotsToResourceName(iMutexData.iMutexName);
-
- // Count
- mutex.Open(findHb);
- TInt count = 0;
- iMutexData.iHexCountString.Format(KFormatHex, count);
- iMutexData.iDecCountString.Format(KFormatDec, count);
- mutex.Close();
- }
-
-/**
-Gets details for a mutex using the given TFindSemaphore and name.
-*/
-void TResourceDetails::GetSemaphoreData(TFindSemaphore& findHb, TDesC& aSemaphoreName)
- {
- RSemaphore sem;
- // Name
- iSemaphoreData.iSemaphoreName.Copy(aSemaphoreName);
- //to increase readability of resource table
- AppendDotsToResourceName(iSemaphoreData.iSemaphoreName);
- iSemaphoreData.iSemaphoreName.AppendFill('.', KMaxFullName - iSemaphoreData.iSemaphoreName.Length());
-
- // Count
- sem.Open(findHb);
- TInt count = 0;
- iSemaphoreData.iHexCountString.Format(KFormatHex,count);
-
- iSemaphoreData.iDecCountString.Format(KFormatDec,count);
-
- sem.Close();
- }
-
-/**
-Gets details for a HAL entry. Assumes that the parameters are valid.
-*/
-void TResourceDetails::GetHalData(TInt aValidEntryNum, HAL::SEntry* aSEntry)
- {
- iHalData.iNumberString.Format(KFormatDec,aValidEntryNum);
-
- TBuf<100> halName;
- switch (aValidEntryNum)
- {
- case HALData::EManufacturer: halName=_L("EManufacturer");break;
- case HALData::EManufacturerHardwareRev: halName=_L("EManufacturerHardwareRev");break;
- case HALData::EManufacturerSoftwareRev: halName=_L("EManufacturerSoftwareRev");break;
- case HALData::EManufacturerSoftwareBuild: halName=_L("EManufacturerSoftwareBuild");break;
- case HALData::EModel: halName=_L("EModel");break;
- case HALData::EMachineUid: halName=_L("EMachineUid");break;
- case HALData::EDeviceFamily: halName=_L("EDeviceFamily");break;
- case HALData::EDeviceFamilyRev: halName=_L("EDeviceFamilyRev");break;
- case HALData::ECPU: halName=_L("ECPU");break;
- case HALData::ECPUArch: halName=_L("ECPUArch");break;
- case HALData::ECPUABI: halName=_L("ECPUABI");break;
- case HALData::ECPUSpeed: halName=_L("ECPUSpeed");break;
- case HALData::ESystemStartupReason: halName=_L("ESystemStartupReason");break;
- case HALData::ESystemException: halName=_L("ESystemException");break;
- case HALData::ESystemTickPeriod: halName=_L("ESystemTickPeriod");break;
- case HALData::EMemoryRAM: halName=_L("EMemoryRAM");break;
- case HALData::EMemoryRAMFree: halName=_L("EMemoryRAMFree");break;
- case HALData::EMemoryROM: halName=_L("EMemoryROM");break;
- case HALData::EMemoryPageSize: halName=_L("EMemoryPageSize");break;
- case HALData::EPowerGood: halName=_L("EPowerGood");break;
- case HALData::EPowerBatteryStatus: halName=_L("EPowerBatteryStatus");break;
- case HALData::EPowerBackup: halName=_L("EPowerBackup");break;
- case HALData::EPowerBackupStatus: halName=_L("EPowerBackupStatus");break;
- case HALData::EPowerExternal: halName=_L("EPowerExternal");break;
- case HALData::EKeyboard: halName=_L("EKeyboard");break;
- case HALData::EKeyboardDeviceKeys: halName=_L("EKeyboardDeviceKeys");break;
- case HALData::EKeyboardAppKeys: halName=_L("EKeyboardAppKeys");break;
- case HALData::EKeyboardClick: halName=_L("EKeyboardClick");break;
- case HALData::EKeyboardClickState: halName=_L("EKeyboardClickState");break;
- case HALData::EKeyboardClickVolume: halName=_L("EKeyboardClickVolume");break;
- case HALData::EKeyboardClickVolumeMax: halName=_L("EKeyboardClickVolumeMax");break;
- case HALData::EDisplayXPixels: halName=_L("EDisplayXPixels");break;
- case HALData::EDisplayYPixels: halName=_L("EDisplayYPixels");break;
- case HALData::EDisplayXTwips: halName=_L("EDisplayXTwips");break;
- case HALData::EDisplayYTwips: halName=_L("EDisplayYTwips");break;
- case HALData::EDisplayColors: halName=_L("EDisplayColors");break;
- case HALData::EDisplayState: halName=_L("EDisplayState");break;
- case HALData::EDisplayContrast: halName=_L("EDisplayContrast");break;
- case HALData::EDisplayContrastMax: halName=_L("EDisplayContrastMax");break;
- case HALData::EBacklight: halName=_L("EBacklight");break;
- case HALData::EBacklightState: halName=_L("EBacklightState");break;
- case HALData::EPen: halName=_L("EPen");break;
- case HALData::EPenX: halName=_L("EPenX");break;
- case HALData::EPenY: halName=_L("EPenY");break;
- case HALData::EPenDisplayOn: halName=_L("EPenDisplayOn");break;
- case HALData::EPenClick: halName=_L("EPenClick");break;
- case HALData::EPenClickState: halName=_L("EPenClickState");break;
- case HALData::EPenClickVolume: halName=_L("EPenClickVolume");break;
- case HALData::EPenClickVolumeMax: halName=_L("EPenClickVolumeMax");break;
- case HALData::EMouse: halName=_L("EMouse");break;
- case HALData::EMouseX: halName=_L("EMouseX");break;
- case HALData::EMouseY: halName=_L("EMouseY");break;
- case HALData::EMouseState: halName=_L("EMouseState");break;
- case HALData::EMouseSpeed: halName=_L("EMouseSpeed");break;
- case HALData::EMouseAcceleration: halName=_L("EMouseAcceleration");break;
- case HALData::EMouseButtons: halName=_L("EMouseButtons");break;
- case HALData::EMouseButtonState: halName=_L("EMouseButtonState");break;
- case HALData::ECaseState: halName=_L("ECaseState");break;
- case HALData::ECaseSwitch: halName=_L("ECaseSwitch");break;
- case HALData::ECaseSwitchDisplayOn: halName=_L("ECaseSwitchDisplayOn");break;
- case HALData::ECaseSwitchDisplayOff: halName=_L("ECaseSwitchDisplayOff");break;
- case HALData::ELEDs: halName=_L("ELEDs");break;
- case HALData::ELEDmask: halName=_L("ELEDmask");break;
- case HALData::EIntegratedPhone: halName=_L("EIntegratedPhone");break;
- case HALData::EDisplayBrightness: halName=_L("EDisplayBrightness");break;
- case HALData::EDisplayBrightnessMax: halName=_L("EDisplayBrightnessMax");break;
- case HALData::EKeyboardBacklightState: halName=_L("EKeyboardBacklightState");break;
- case HALData::EAccessoryPower: halName=_L("EAccessoryPower");break;
- case HALData::ELanguageIndex: halName=_L("ELanguageIndex");break;
- case HALData::EKeyboardIndex: halName=_L("EKeyboardIndex");break;
- case HALData::EMaxRAMDriveSize: halName=_L("EMaxRAMDriveSize");break;
- case HALData::EKeyboardState: halName=_L("EKeyboardState");break;
- case HALData::ESystemDrive: halName=_L("ESystemDrive");break;
- case HALData::EPenState: halName=_L("EPenState");break;
- case HALData::EDisplayIsMono: halName=_L("EDisplayIsMono");break;
- case HALData::EDisplayIsPalettized: halName=_L("EDisplayIsPalettized");break;
- case HALData::EDisplayBitsPerPixel: halName=_L("EDisplayBitsPerPixel");break;
- case HALData::EDisplayNumModes: halName=_L("EDisplayNumModes");break;
- case HALData::EDisplayMemoryAddress: halName=_L("EDisplayMemoryAddress");break;
- case HALData::EDisplayOffsetToFirstPixel: halName=_L("EDisplayOffsetToFirstPixel");break;
- case HALData::EDisplayOffsetBetweenLines: halName=_L("EDisplayOffsetBetweenLines");break;
- case HALData::EDisplayPaletteEntry: halName=_L("EDisplayPaletteEntry");break;
- case HALData::EDisplayIsPixelOrderRGB: halName=_L("EDisplayIsPixelOrderRGB");break;
- case HALData::EDisplayIsPixelOrderLandscape: halName=_L("EDisplayIsPixelOrderLandscape");break;
- case HALData::EDisplayMode: halName=_L("EDisplayMode");break;
- case HALData::ESwitches: halName=_L("ESwitches");break;
- case HALData::EDebugPort: halName=_L("EDebugPort");break;
- case HALData::ELocaleLoaded: halName=_L("ELocaleLoaded");break;
- case HALData::ENumHalAttributes: halName=_L("ENumHalAttributes");break;
- default:halName=_L("Unknown");break;
- }
-
- iHalData.iName.Copy(halName);
-
- if (aSEntry[aValidEntryNum].iProperties & HAL::EEntryDynamic)
- iHalData.iDynamicIndicator=_L("D");
- else iHalData.iDynamicIndicator=_L("-");
-
- iHalData.iDecValString.Format(KFormatDec,aSEntry[aValidEntryNum].iValue);
-
- iHalData.iHexValString.Format(KFormatHex,aSEntry[aValidEntryNum].iValue);
- }
-
-/**
-Appends dots (after 3 spaces) to a resource name.
-Used for names of resources in a table - so you can follow the dots to read the
-resource details.
-*/
-void TResourceDetails::AppendDotsToResourceName(TFullName& aResourceName)
- {
- if (aResourceName.Length() < KMaxFullName - 3)
- aResourceName.AppendFill(' ', 3);
- aResourceName.AppendFill('.', KMaxFullName - aResourceName.Length());
- }
-