--- a/perfapps/memspyui/ui/avkon/src/MemSpySettings.cpp Fri Sep 17 14:22:55 2010 +0300
+++ b/perfapps/memspyui/ui/avkon/src/MemSpySettings.cpp Mon Oct 04 10:09:02 2010 +0300
@@ -142,21 +142,15 @@
// Verion info
stream.WriteInt32L( KMemSpySettingsFileFormatVersion );
-
+
+ iMemSpySession.GetOutputSink( iSinkType );
stream.WriteUint8L( iSinkType );
-
+
+ // Get SWMT config
+ GetSwmtConfig( iSwmtConfig );
- // Get SWMT config
- //CMemSpyEngineHelperSysMemTracker& swmt = iEngine.HelperSysMemTracker();
- //TMemSpyEngineHelperSysMemTrackerConfig swmtConfig;
- //swmt.GetConfig( swmtConfig );
-
- // Write SWMT settings
- //stream.WriteInt32L( swmtConfig.TimerPeriod().Int() );
- //stream.WriteUint8L( swmtConfig.DumpData() );
-
- stream.WriteInt32L( iSwmtConfig.TimerPeriod().Int() );
- stream.WriteUint8L( iSwmtConfig.DumpData() );
+ stream.WriteInt32L( iSwmtConfig.iTimerPeriod.Int() );
+ stream.WriteUint8L( iSwmtConfig.iDumpData );
// Write memory tracking auto-start process list
/*
@@ -168,32 +162,14 @@
TRACE( RDebug::Printf( "CMemSpySettings::StoreSettingsL() - process tracker uid[%02d]: 0x%08x", i, uid.iUid ) );
stream << uid;
}
- */
- stream.WriteInt32L( iUidList.Count() );
- for( TInt i = 0; i < iUidList.Count(); i++ )
- {
- const TUid uid = iUidList[ i ];
- TRACE( RDebug::Printf( "CMemSpySettings::StoreSettingsL() - process tracker uid[%02d]: 0x%08x", i, uid.iUid ) );
- stream << uid;
- }
+ */
- // Write memory tracking categories
- //stream.WriteInt32L( swmtConfig.iEnabledCategories );
+ // Write memory tracking categories
stream.WriteInt32L( iSwmtConfig.iEnabledCategories );
- // Write heap tracking thread name filter
- //stream.WriteInt32L( swmtConfig.iThreadNameFilter.Length() );
+ // Write heap tracking thread name filter
stream.WriteInt32L( iSwmtConfig.iThreadNameFilter.Length() );
-
- /*
- if ( swmtConfig.iThreadNameFilter.Length() > 0 )
- {
- stream.WriteL( swmtConfig.iThreadNameFilter, swmtConfig.iThreadNameFilter.Length() );
- }
-
- // Write mode
- stream.WriteInt32L( swmtConfig.iMode );
- */
+
if ( iSwmtConfig.iThreadNameFilter.Length() > 0 )
{
stream.WriteL( iSwmtConfig.iThreadNameFilter, iSwmtConfig.iThreadNameFilter.Length() );
@@ -220,9 +196,8 @@
// Engine settings
TMemSpySinkType type = static_cast< TMemSpySinkType >( stream.ReadUint8L() );
TRACE( RDebug::Printf( "CMemSpySettings::RestoreSettingsL() - read sinkType: %d", type ) );
-
- //iEngine.InstallSinkL( type );
- //iMemSpySession.SwitchOutputSink( type ); //TODO: to argue to set stuf in engine from here
+
+ iMemSpySession.SwitchOutputSinkL( type ); //set value in engine
// Set SWMT config
TMemSpyEngineHelperSysMemTrackerConfig swmtConfig;
@@ -241,13 +216,14 @@
// Restore memory tracking auto-start process uids if file format supports it...
if ( version >= 2 )
{
+ /*
RArray<TUid> list;
CleanupClosePushL( list );
//
const TInt count = stream.ReadInt32L();
- //CArrayFixFlat<TUid>* list = new(ELeave)CArrayFixFlat<TUid>(count);
- //CleanupStack::PushL(list );
+ CArrayFixFlat<TUid>* list = new(ELeave)CArrayFixFlat<TUid>(count);
+ CleanupStack::PushL(list );
for( TInt i=0; i<count; i++ )
{
@@ -264,6 +240,7 @@
iUidList = list; //TODO: to get it into the engine
CleanupStack::PopAndDestroy( &list );
+ */
}
// Restore memory tracking categories
@@ -276,10 +253,10 @@
if ( version > 4 )
{
TInt len = stream.ReadInt32L();
- if ( len > 0 )
- {
+ if ( len > 0 && len < KMaxName )
+ {
stream.ReadL( swmtConfig.iThreadNameFilter, len );
- }
+ }
}
// Write mode
@@ -287,14 +264,42 @@
{
swmtConfig.iMode = (TMemSpyEngineHelperSysMemTrackerConfig::TMemSpyEngineSysMemTrackerMode)stream.ReadInt32L();
}
+
+ iSwmtConfig = swmtConfig;
- //CMemSpyEngineHelperSysMemTracker& swmt = iEngine.HelperSysMemTracker();
- //swmt.SetConfigL( swmtConfig );
- //iMemSpySession.SetSwmtConfig( swmtConfig );
-
- iSwmtConfig = swmtConfig; //TODO: to get it into the engine
+ SetSwmtConfig( iSwmtConfig ); //set values in engine
CleanupStack::PopAndDestroy( &stream ); // Closes file
}
+void CMemSpySettings::GetSwmtConfig( TMemSpyEngineHelperSysMemTrackerConfig& aConfig )
+ {
+ TInt categories = 0;
+ iMemSpySession.GetSwmtCategoriesL( categories );
+ aConfig.iEnabledCategories = categories;
+
+ TInt timerPeriod = 0;
+ iMemSpySession.GetSwmtTimerIntervalL( timerPeriod );
+ aConfig.iTimerPeriod = timerPeriod;
+
+ TBool dumpData = EFalse;
+ iMemSpySession.GetSwmtHeapDumpsEnabledL( dumpData );
+ aConfig.iDumpData = dumpData;
+
+ TName threadNameFilter;
+ iMemSpySession.GetSwmtFilter( threadNameFilter );
+ aConfig.iThreadNameFilter = threadNameFilter;
+
+ TMemSpyEngineHelperSysMemTrackerConfig::TMemSpyEngineSysMemTrackerMode mode;
+ iMemSpySession.GetSwmtMode( mode );
+ aConfig.iMode = mode;
+ }
+void CMemSpySettings::SetSwmtConfig( TMemSpyEngineHelperSysMemTrackerConfig& aConfig )
+ {
+ iMemSpySession.SetSwmtMode( aConfig.iMode );
+ iMemSpySession.SetSwmtCategoriesL( aConfig.iEnabledCategories );
+ iMemSpySession.SetSwmtTimerIntervalL( aConfig.iTimerPeriod.Int() );
+ iMemSpySession.SetSwmtHeapDumpsEnabledL( aConfig.iDumpData );
+ iMemSpySession.SetSwmtFilter( aConfig.iThreadNameFilter );
+ }