// Copyright (c) 2007-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:
//

#ifndef __SSMSTATES_HRH__
#define __SSMSTATES_HRH__

#include <e32def.h>

/**
 Enumeration of the main system states for the System State Manager
 
 @see TSsmState
 
 @publishedPartner
 @released
 
 The total value of the state can occupy a maximum of the lower 24 bits of a TUint32.  
 This has been divided into 8 bits (0-0xff for TSsmMainSystemStates, 16 bits (0-0xffff) for KSsmAnyMinorState
*/
enum TSsmMainSystemStates
	{
	ESsmStartup = 0, // This must be 0 for compatibility with existing GSA components
	ESsmNormal,
	ESsmShutdown,
	ESsmFail,
	ESsmBackup,
	ESsmRestore,
	ESsmEmergencyCallsOnly,
	/** Main states are 16 bits, but 8 bits are reserved for internal use, so allowed values range is until 0xFF */
	ESsmMainSystemStateMax = 0xFF
	};

/**
 Represents any sub state, used for transitioning to policies where you don't know (or care)
 about the sub state.
 @publishedPartner
@released
 */
const TUint16 KSsmAnySubState = 0xFFFF;

#endif	//__SSMSTATES_HRH__
