diff -r 000000000000 -r 818e61de6cd1 crashanalysercmd/PerfToolsSharedLibraries/Engine/SymbianUtils/Environment/SymbianCommandLineEnvValidator.cs --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/crashanalysercmd/PerfToolsSharedLibraries/Engine/SymbianUtils/Environment/SymbianCommandLineEnvValidator.cs Thu Feb 11 15:50:58 2010 +0200 @@ -0,0 +1,75 @@ +/* +* Copyright (c) 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: +* +*/ +using System; +using System.Collections.Generic; +using System.Collections.Specialized; +using System.Text; +using System.Diagnostics; + +namespace SymbianUtils.Environment +{ + public class SymbianCommandLineEnvValidator + { + #region API + public static bool CheckEnvVarsValidForSymbianOSCompilation( bool aShowWarningDialogs ) + { + bool valid = false; + // + ProcessStartInfo info = new ProcessStartInfo( "calc.exe" ); + info.UseShellExecute = false; + + // Check env vars and make sure standard epoc32 paths are included + StringDictionary envVars = info.EnvironmentVariables; + + string path = envVars[ "PATH" ]; + string epocRoot = envVars[ "EPOCROOT" ]; + + if ( path.IndexOf( @"\epoc32\tools" ) < 0 ) + { + if ( aShowWarningDialogs ) + { + System.Windows.Forms.MessageBox.Show( @"Your path doesn't appear to support the necessary" + System.Environment.NewLine + + @"\Epoc32\... environment variables.", + "EPOC Environment Variables Undefined" ); + } + } + else if ( epocRoot == string.Empty ) + { + if ( aShowWarningDialogs ) + { + System.Windows.Forms.MessageBox.Show( @"You need to define EPOCROOT, e.g. to the value '\'", + "EPOCROOT Undefined" ); + } + } + else if ( epocRoot != @"\" ) + { + if ( aShowWarningDialogs ) + { + System.Windows.Forms.MessageBox.Show( @"The Active Object toolkit requires EPOCROOT be set to '\'", + "EPOCROOT Value Not Supported" ); + } + } + else + { + valid = true; + } + // + return valid; + } + #endregion + } +}