diff -r 675a964f4eb5 -r 35751d3474b7 cryptoservices/filebasedcertificateandkeystores/test/tkeystore/t_addkey.cpp --- a/cryptoservices/filebasedcertificateandkeystores/test/tkeystore/t_addkey.cpp Tue Jul 21 01:04:32 2009 +0100 +++ b/cryptoservices/filebasedcertificateandkeystores/test/tkeystore/t_addkey.cpp Thu Sep 10 14:01:51 2009 +0300 @@ -1,208 +1,217 @@ -/* -* Copyright (c) 2003-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: -* -*/ - - -#include -#include -#include "t_keystore_actions.h" -#include "t_keystore_defs.h" -#include "t_input.h" -#include "t_output.h" - -_LIT(KEllipsis, "..."); - -///////////////////////////////////////////////////////////////////////////////// -// CAddKey -///////////////////////////////////////////////////////////////////////////////// - -CTestAction* CAddKey::NewL(RFs& aFs, - CConsoleBase& aConsole, - Output& aOut, - const TTestActionSpec& aTestActionSpec) -{ - CTestAction* self = CAddKey::NewLC(aFs, aConsole, aOut, aTestActionSpec); - CleanupStack::Pop(self); - return self; -} - -CTestAction* CAddKey::NewLC(RFs& aFs, - CConsoleBase& aConsole, - Output& aOut, - const TTestActionSpec& aTestActionSpec) -{ - CAddKey* self = new (ELeave) CAddKey(aFs, aConsole, aOut); - CleanupStack::PushL(self); - self->ConstructL(aTestActionSpec); - return self; -} - -CAddKey::~CAddKey() -{ - if (iKeyInfo != NULL) - { - iKeyInfo->Release(); - } -} - -CAddKey::CAddKey(RFs& aFs, CConsoleBase& aConsole, Output& aOut) : - CKeyStoreTestAction(aFs, aConsole, aOut), iState(EAddKey) - { - } - -void CAddKey::ConstructL(const TTestActionSpec& aTestActionSpec) -{ - CKeyStoreTestAction::ConstructL(aTestActionSpec); - - SetKeySize(Input::ParseElement(aTestActionSpec.iActionBody, KKeySizeStart)); - SetStartDate(Input::ParseElement(aTestActionSpec.iActionBody, KKeyStartDateStart)); - SetEndDate(Input::ParseElement(aTestActionSpec.iActionBody, KKeyEndDateStart)); -} - -void CAddKey::SetKeySize(const TDesC8& aKeySize) - { - TLex8 lex(aKeySize); - lex.Val(iSize); - } - -void CAddKey::PerformAction(TRequestStatus& aStatus) - { - switch (iState) - { - case EAddKey: - { - CUnifiedKeyStore* keyStore = CSharedKeyStores::TheUnifiedKeyStores().operator[](iKeystore); - - keyStore->CreateKey(0, iUsage, iSize, *iLabel, iAlgorithm, - iAccessType, iStartDate, iEndDate, iKeyInfo, aStatus); - - iState = EFinished; - } - break; - - case EFinished: - { - TRequestStatus* status = &aStatus; - User::RequestComplete(status, aStatus.Int()); - if (aStatus == iExpectedResult) - { - iResult = ETrue; - } - else - { - iResult = EFalse; - } - - iActionState = EPostrequisite; - } - break; - - default: - break; // Nothing to do, for the compiler - } - } - -void CAddKey::PerformCancel() - { - if (iState == EFinished) - { - CUnifiedKeyStore* keyStore = CSharedKeyStores::TheUnifiedKeyStores().operator[](iKeystore); - keyStore->CancelCreateKey(); - } - } - -void CAddKey::Reset() - { - iState = EAddKey; - if (iKeyInfo != NULL) - { - iKeyInfo->Release(); - iKeyInfo = NULL; - } - } - -void CAddKey::DoReportAction() -{ - _LIT(KAdding, "Adding key..."); - iOut.writeString(KAdding); - - iOut.writeString(iLabel->Left(32)); - if (iLabel->Length() > 32) - { - iOut.writeString(KEllipsis); - } - - iOut.writeNewLine(); -} - - -void CAddKey::DoCheckResult(TInt aError) -{ - if (iFinished) - { - if (aError == KErrNone) - { - _LIT(KSuccessful, "Key added successfully\n"); - iConsole.Write(KSuccessful); - iOut.writeString(KSuccessful); - iOut.writeNewLine(); - iOut.writeNewLine(); - } - else - { - if (aError!=iExpectedResult) - { - _LIT(KFailed, "!!!Key adding failure!!!\n"); - iConsole.Write(KFailed); - iOut.writeString(KFailed); - } - else - { - _LIT(KFailed, "Key adding failed, but expected\n"); - iConsole.Write(KFailed); - iOut.writeString(KFailed); - } - - iOut.writeNewLine(); - iOut.writeNewLine(); - } - } -} - - -void CAddKey::SetStartDate(const TDesC8& aData) - { - if (aData.Length() == 0) - return; - - HBufC* buf = HBufC::NewLC(aData.Length()); - TPtr ptr = buf->Des(); - ptr.Copy(aData); - User::LeaveIfError(iStartDate.Parse(*buf)); - CleanupStack::PopAndDestroy(buf); - } - -void CAddKey::SetEndDate(const TDesC8& aData) - { - if (aData.Length() == 0) - return; - - HBufC* buf = HBufC::NewLC(aData.Length()); - TPtr ptr = buf->Des(); - ptr.Copy(aData); - User::LeaveIfError(iEndDate.Parse(*buf)); - CleanupStack::PopAndDestroy(buf); - } +/* +* Copyright (c) 2003-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: +* +*/ + + +#include +#include +#include "t_keystore_actions.h" +#include "t_keystore_defs.h" +#include "t_input.h" +#include "t_output.h" + +_LIT(KEllipsis, "..."); + +///////////////////////////////////////////////////////////////////////////////// +// CAddKey +///////////////////////////////////////////////////////////////////////////////// + +CTestAction* CAddKey::NewL(RFs& aFs, + CConsoleBase& aConsole, + Output& aOut, + const TTestActionSpec& aTestActionSpec) +{ + CTestAction* self = CAddKey::NewLC(aFs, aConsole, aOut, aTestActionSpec); + CleanupStack::Pop(self); + return self; +} + +CTestAction* CAddKey::NewLC(RFs& aFs, + CConsoleBase& aConsole, + Output& aOut, + const TTestActionSpec& aTestActionSpec) +{ + CAddKey* self = new (ELeave) CAddKey(aFs, aConsole, aOut); + CleanupStack::PushL(self); + self->ConstructL(aTestActionSpec); + return self; +} + +CAddKey::~CAddKey() +{ + if (iKeyInfo != NULL) + { + iKeyInfo->Release(); + } +} + +CAddKey::CAddKey(RFs& aFs, CConsoleBase& aConsole, Output& aOut) : + CKeyStoreTestAction(aFs, aConsole, aOut), iState(EAddKey) + { + } + +void CAddKey::ConstructL(const TTestActionSpec& aTestActionSpec) +{ + CKeyStoreTestAction::ConstructL(aTestActionSpec); + + SetKeySize(Input::ParseElement(aTestActionSpec.iActionBody, KKeySizeStart)); + SetStartDateL(Input::ParseElement(aTestActionSpec.iActionBody, KKeyStartDateStart)); + SetEndDateL(Input::ParseElement(aTestActionSpec.iActionBody, KKeyEndDateStart)); +} + +void CAddKey::SetKeySize(const TDesC8& aKeySize) + { + TLex8 lex(aKeySize); + lex.Val(iSize); + } + +void CAddKey::PerformAction(TRequestStatus& aStatus) + { + switch (iState) + { + case EAddKey: + { + CUnifiedKeyStore* keyStore = CSharedKeyStores::TheUnifiedKeyStores().operator[](iKeystore); + #ifdef SYMBIAN_AUTH_SERVER + if(iUseNewApi) + { + keyStore->CreateKey(0, iUsage, iSize, *iLabel, iAlgorithm, + iAccessType, iStartDate, iEndDate, *iAuthExpression, iFreshness, iKeyInfo, aStatus); + } + else + #endif // SYMBIAN_AUTH_SERVER + { + keyStore->CreateKey(0, iUsage, iSize, *iLabel, iAlgorithm, + iAccessType, iStartDate, iEndDate, iKeyInfo, aStatus); + + } + iState = EFinished; + } + break; + + case EFinished: + { + TRequestStatus* status = &aStatus; + User::RequestComplete(status, aStatus.Int()); + if (aStatus == iExpectedResult) + { + iResult = ETrue; + } + else + { + iResult = EFalse; + } + + iActionState = EPostrequisite; + } + break; + + default: + break; // Nothing to do, for the compiler + } + } + +void CAddKey::PerformCancel() + { + if (iState == EFinished) + { + CUnifiedKeyStore* keyStore = CSharedKeyStores::TheUnifiedKeyStores().operator[](iKeystore); + keyStore->CancelCreateKey(); + } + } + +void CAddKey::Reset() + { + iState = EAddKey; + if (iKeyInfo != NULL) + { + iKeyInfo->Release(); + iKeyInfo = NULL; + } + } + +void CAddKey::DoReportAction() +{ + _LIT(KAdding, "Adding key..."); + iOut.writeString(KAdding); + + iOut.writeString(iLabel->Left(32)); + if (iLabel->Length() > 32) + { + iOut.writeString(KEllipsis); + } + + iOut.writeNewLine(); +} + + +void CAddKey::DoCheckResult(TInt aError) +{ + if (iFinished) + { + if (aError == KErrNone) + { + _LIT(KSuccessful, "Key added successfully\n"); + iConsole.Write(KSuccessful); + iOut.writeString(KSuccessful); + iOut.writeNewLine(); + iOut.writeNewLine(); + } + else + { + if (aError!=iExpectedResult) + { + _LIT(KFailed, "!!!Key adding failure!!!\n"); + iConsole.Write(KFailed); + iOut.writeString(KFailed); + } + else + { + _LIT(KFailed, "Key adding failed, but expected\n"); + iConsole.Write(KFailed); + iOut.writeString(KFailed); + } + + iOut.writeNewLine(); + iOut.writeNewLine(); + } + } +} + + +void CAddKey::SetStartDateL(const TDesC8& aData) + { + if (aData.Length() == 0) + return; + + HBufC* buf = HBufC::NewLC(aData.Length()); + TPtr ptr = buf->Des(); + ptr.Copy(aData); + User::LeaveIfError(iStartDate.Parse(*buf)); + CleanupStack::PopAndDestroy(buf); + } + +void CAddKey::SetEndDateL(const TDesC8& aData) + { + if (aData.Length() == 0) + return; + + HBufC* buf = HBufC::NewLC(aData.Length()); + TPtr ptr = buf->Des(); + ptr.Copy(aData); + User::LeaveIfError(iEndDate.Parse(*buf)); + CleanupStack::PopAndDestroy(buf); + }