installationservices/swidevicetools/source/swiconsole/src/cpreferences.cpp
changeset 0 ba25891c3a9e
child 21 5bddc28da627
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/installationservices/swidevicetools/source/swiconsole/src/cpreferences.cpp	Thu Dec 17 08:51:10 2009 +0200
@@ -0,0 +1,141 @@
+/*
+* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "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: 
+* CPreferences: This class is acts as an container for storing all the 
+* options provided in the command line.
+* @internalComponent
+*
+*/
+
+ 
+ #include "cpreferences.h"
+ #include "swiconsoleerrors.h"
+
+CPreferences::CPreferences():
+				iLanguage(ELangNone),
+				iDrive(EKeyNull)
+	{
+	TInt i;
+	for(i = 0; i < EDialogTypeCount; ++i)
+		{
+		iDialogResponses[i] = ENotAnswered;
+		}
+	for(i = 0; i < EEventTypeCount; ++i)
+		{
+		iEventResponses[i] = ENotAnswered;
+		}
+	return;
+	}
+
+CPreferences* CPreferences::NewL()
+	{
+	CPreferences* self = CPreferences::NewLC();
+	CleanupStack::Pop(self);
+	return self;
+	}
+
+CPreferences* CPreferences::NewLC()
+	{
+	CPreferences* self = new (ELeave) CPreferences;
+	CleanupStack::PushL(self);
+	self->ConstructL();
+	return self;
+	}
+	
+CPreferences::~CPreferences()
+	{
+	iOptionList.Reset();
+	iPackageNameList.ResetAndDestroy();
+	iVendorNameList.ResetAndDestroy();
+	}
+
+
+// Checks whether an event is cancellable or not
+TInt8 CPreferences::GetCancellableEventOption(TEventType aEventType) const
+	{
+	__ASSERT_DEBUG(static_cast<TUint>(aEventType) < EEventTypeCount, User::Panic(KGeneralPanicString, KInvalidArgument));
+	
+	return iEventResponses[aEventType];
+	}
+
+// Retrieves the options selected for a dialog
+TInt8 CPreferences::GetDialogOption(TDialogType aDialogType) const
+	{
+	__ASSERT_DEBUG(static_cast<TUint>(aDialogType) < EDialogTypeCount, User::Panic(KGeneralPanicString, KInvalidArgument));
+	
+	return iDialogResponses[aDialogType];
+	}
+
+// Sets the response of dialogs
+void CPreferences::SetDialogOption(
+							TDialogType aDialogType, 
+							TInt8 aResponse)
+	{
+	__ASSERT_DEBUG(static_cast<TUint>(aDialogType) < EDialogTypeCount, User::Panic(KGeneralPanicString, KInvalidArgument));
+	
+	iDialogResponses[aDialogType] = aResponse;
+	return;
+	}
+
+
+// Sets the response of Cancellable event.
+void CPreferences::SetCancellableEventResponse(
+										TEventType aEventType, 
+										TInt8 aResponse)
+	{
+	__ASSERT_DEBUG(static_cast<TUint>(aEventType) < EEventTypeCount, User::Panic(KGeneralPanicString, KInvalidArgument));
+	
+	iEventResponses[aEventType] = aResponse;
+	return;
+	}
+
+void CPreferences::AddPackageNameL(const TDesC& aPackageName)
+	{
+	HBufC* ptr = aPackageName.AllocL();
+	// Ownership transfered to the list
+	iPackageNameList.Append(ptr);
+	}
+
+void CPreferences::AddVendorNameL(const TDesC& aVendorName)
+	{
+	HBufC* ptr = aVendorName.AllocL();
+	// Ownership transfered to the list
+	iVendorNameList.Append(ptr);
+	}
+
+TBool CPreferences::IsPackageNamePresent(const TDesC& aPackageName) const
+	{
+	for(TInt i = iPackageNameList.Count() - 1; i >= 0; --i)
+		{
+		if(0 == aPackageName.CompareF(iPackageNameList[i]->Des()))
+			{
+			return ETrue;
+			}
+		}
+	return EFalse;
+	}
+
+TBool CPreferences::IsVendorNamePresent(const TDesC& aVendorName) const
+	{
+	for(TInt i = iVendorNameList.Count() - 1; i >= 0; --i)
+		{
+		if(0 == aVendorName.CompareF(iVendorNameList[i]->Des()))
+			{
+			return ETrue;
+			}
+		}
+	return EFalse;
+	}
+
+