sysstatemgmt/systemstatemgr/cmn/src/ssmstatetransition.cpp
changeset 0 4e1aa6a622a0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sysstatemgmt/systemstatemgr/cmn/src/ssmstatetransition.cpp	Tue Feb 02 00:53:00 2010 +0200
@@ -0,0 +1,103 @@
+// 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:
+//
+
+#include <ssm/ssmstatetransition.h>
+
+EXPORT_C TSsmStateTransition::TSsmStateTransition()
+	: iState(0,0), iReason(0)
+	{
+	}
+
+/**
+@param aState	The target system state.
+@param aReason	A parameter interpreted by the System State Policy DLL implementation.
+*/
+EXPORT_C TSsmStateTransition::TSsmStateTransition(TSsmState aState, TInt aReason)
+	: iState(aState), iReason(aReason)
+	{
+	} //lint !e1746 Suppress parameter 'aState' could be made const reference
+
+/**
+@param aMainState The target major state.
+@param aSubState The target sub state.
+@param aReason	A parameter interpreted by the System State Policy DLL implemtation.
+*/
+EXPORT_C TSsmStateTransition::TSsmStateTransition(TUint16 aMainState, TUint16 aSubState, TInt aReason)
+	: iState(aMainState,aSubState), iReason(aReason)
+	{
+	}
+
+/**
+ Copy constructor
+ */
+EXPORT_C TSsmStateTransition::TSsmStateTransition(const TSsmStateTransition& aRequest)
+	: iState(aRequest.iState), iReason(aRequest.iReason)
+	{
+	}
+
+/**
+ Accessor for the System State attribute
+ @return A copy of the iState attribute in this object
+ */
+EXPORT_C TSsmState TSsmStateTransition::State() const
+	{
+	return iState;
+	}
+
+/**
+ Accessor for the Reason attribute
+ @return A copy of the iReason attribute in this object
+ */
+EXPORT_C TInt TSsmStateTransition::Reason() const
+	{
+	return iReason;
+	}
+
+/**
+@param aRequest The value to be assigned to this object.
+@return A reference to this object.
+*/
+EXPORT_C TSsmStateTransition& TSsmStateTransition::operator=(const TSsmStateTransition& aRequest)
+	{
+	// protect against self assignment
+	if( &aRequest == this)
+		{
+		return(*this);
+		}
+		
+	// do assigment
+	iState = aRequest.iState;
+	iReason = aRequest.iReason;	
+	
+	return(*this);
+	}
+
+/**
+@param aRequest The value to be compared.
+@return True, if the values are equal; false otherwise.
+*/
+EXPORT_C TBool TSsmStateTransition::operator==(const TSsmStateTransition& aRequest) const
+	{
+	return ((iState==aRequest.iState) && (iReason==aRequest.iReason));	
+	}
+
+/**
+@param aRequest The value to be compared.
+@return True, if the values are not equal; false otherwise.
+*/
+EXPORT_C TBool TSsmStateTransition::operator!=(const TSsmStateTransition& aRequest) const
+	{
+		return !(*this == aRequest);
+	}