sysstatemgmt/systemstarter/src/SystemStartupStateInfo.cpp
changeset 0 4e1aa6a622a0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sysstatemgmt/systemstarter/src/SystemStartupStateInfo.cpp	Tue Feb 02 00:53:00 2010 +0200
@@ -0,0 +1,147 @@
+// Copyright (c) 2005-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 "SystemStartupStateInfo.h"
+
+//
+// Standard Symbian factory functions/destructor
+//
+
+CSystemStartupStateInfo* CSystemStartupStateInfo::NewL()
+	{
+	CSystemStartupStateInfo* self = CSystemStartupStateInfo::NewLC();
+	CleanupStack::Pop(self);
+	return self;
+	}
+
+CSystemStartupStateInfo* CSystemStartupStateInfo::NewLC()
+	{
+	CSystemStartupStateInfo* self = new (ELeave) CSystemStartupStateInfo;
+	CleanupStack::PushL(self);
+	self->ConstructL();
+	return self;
+	}
+
+CSystemStartupStateInfo::~CSystemStartupStateInfo()
+	{
+	TInt i = 0;
+	for (; i < Count(); ++i)
+		{
+		iCommandList[i]->Release();
+		}
+	iCommandList.Close();
+	
+	delete iName;
+	}
+
+//
+// Public member functions
+//
+
+void CSystemStartupStateInfo::SetCommandList(CommandList aCommandList)
+	{
+	for (TInt i = 0; i < Count(); ++i)
+		{
+		delete iCommandList[i];
+		}
+	iCommandList.Close();
+	iCommandList = aCommandList;
+	}
+
+void CSystemStartupStateInfo::SetStateId(TUint8 aStateId)
+	{
+	iStateId = aStateId;
+	}
+	
+void CSystemStartupStateInfo::SetName(const TDesC& aName)
+	{
+	delete iName;
+	iName = aName.Alloc();
+	}
+	
+void CSystemStartupStateInfo::SetNoOfRetries(TNoOfRetries aNoOfRetries)
+	{
+	iNoOfRetries = aNoOfRetries;
+	}
+	
+void CSystemStartupStateInfo::SetActionOnStateTransitionFailure(TActionOnStateTransitionFailure aActionOnStateTransitionFailure)
+	{
+	iActionOnStateTransitionFailure = aActionOnStateTransitionFailure;
+	}
+	
+TInt CSystemStartupStateInfo::AddCommand(MStartupCommand* aAppInfo)
+	{
+	return iCommandList.Append(aAppInfo);
+	}
+
+//
+// Inherited virtual overrides (MStartupStateInfo)
+//
+
+TUint8 CSystemStartupStateInfo::StateId() const
+	{
+	return iStateId;
+	}
+		
+TPtrC CSystemStartupStateInfo::Name() const
+	{
+	TPtrC retval;
+	if (iName)
+		{
+		retval.Set(*iName);
+		}
+	return retval;
+	}
+
+TNoOfRetries CSystemStartupStateInfo::NoOfRetries() const  
+ 	{
+ 	return iNoOfRetries;
+ 	}
+ 
+TActionOnStateTransitionFailure CSystemStartupStateInfo::ActionOnStateTransitionFailure() const
+	{
+	return iActionOnStateTransitionFailure;
+	}
+    
+ 
+const CommandList CSystemStartupStateInfo::GetCommandList() const
+	{
+	return iCommandList;
+	}
+	
+ 
+TInt CSystemStartupStateInfo::Count() const
+	{
+	return iCommandList.Count();
+	}
+
+MStartupCommand* CSystemStartupStateInfo::GetCommand(TInt aIndex) const
+	{
+	return iCommandList[aIndex];
+	}
+
+//
+// Private member functions
+//
+
+CSystemStartupStateInfo::CSystemStartupStateInfo()
+: iNoOfRetries(ERetry0), iActionOnStateTransitionFailure(EIgnoreFailure)
+	{
+	}
+
+void CSystemStartupStateInfo::ConstructL()
+	{
+	}
+