diff -r 000000000000 -r 62f9d29f7211 webservices/wsoviplugin/src/wsovitokencreationresponse.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/webservices/wsoviplugin/src/wsovitokencreationresponse.cpp Thu Jan 07 16:19:19 2010 +0200 @@ -0,0 +1,258 @@ +/* +* Copyright (c) 2008 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 "wsovitokencreationresponse.h" +#include "wsovicons.h" +#include "sendebug.h" +#include "senlogger.h" + +using namespace WSOviResponse; +CWSOviTokenCreationResponse* CWSOviTokenCreationResponse::NewL() + { + CWSOviTokenCreationResponse* self = NewLC(); + CleanupStack::Pop(self); + return self; + } + +CWSOviTokenCreationResponse* CWSOviTokenCreationResponse::NewLC() + { + CWSOviTokenCreationResponse* self = new (ELeave) CWSOviTokenCreationResponse(); + CleanupStack::PushL (self); + self->ConstructL(); + return self; + } +// Second phase construction. +void CWSOviTokenCreationResponse::ConstructL() + { + CSenBaseFragment::BaseConstructL(TPtrC8(NULL,0), + KTokenCreationResponseLocalName); + } + +void CWSOviTokenCreationResponse::StartElementL(const TDesC8& /*aNsUri*/, + const TDesC8& aLocalName, + const TDesC8& /*aQName*/, + const RAttributeArray& /*aAttributes*/) + { + switch (iState) + { + case KStateIgnore: + { + if (aLocalName == KTokenInfoLocalName) + { + iState = KStateParsingTokenInfo; + } + else if (aLocalName == KTokenCreationResponseLocalName) + { + iIsTokenUpdate = EFalse; + } + else if (aLocalName == KUserInfoLocalName) + { + iState = KStateParsingUserInfo; + } + break; + } + case KStateParsingTokenInfo: + { + if (aLocalName == KTokenSecretLocalName) + { + iState = KStateSave; + } + else if (aLocalName == KTokenLocalName) + { + iState = KStateSave; + } + else if (aLocalName == KTTLLocalName) + { + iState = KStateSave; + } + break; + } + case KStateParsingUserInfo: + { + if (aLocalName == KUserNameLocalName) + { + iState = KStateSave; + } + break; + } + default: + break; + } + } + +void CWSOviTokenCreationResponse::EndElementL(const TDesC8& /*aNsUri*/, + const TDesC8& aLocalName, + const TDesC8& /*aQName*/) + { + TPtrC8 content = Content(); + switch (iState) + { + case KStateSave: + { + if (aLocalName == KTokenLocalName) + { + if (iToken) + { + delete iToken; + iToken = NULL; + } + TLSLOG_L(KSenCoreServiceManagerLogChannelBase , KMinLogLevel,"WSOviTokenCreationResponse::token parsing"); + TLSLOG_ALL(KSenCoreServiceManagerLogChannelBase , KMinLogLevel, content); + + iToken = HBufC8::NewL(content.Length()+KTokenTag().Length()+KTokenTagEnd().Length()); + iToken->Des().Append(KTokenTag); + iToken->Des().Append(content); + iToken->Des().Append(KTokenTagEnd); + ResetContentL(); + iState = KStateParsingTokenInfo; + } + if (aLocalName == KTokenSecretLocalName) + { + if (iTokenSecret) + { + delete iTokenSecret; + iTokenSecret = NULL; + } + TLSLOG_L(KSenCoreServiceManagerLogChannelBase , KMinLogLevel,"WSOviTokenCreationResponse::tokenSecret parsing"); + TLSLOG_ALL(KSenCoreServiceManagerLogChannelBase , KMinLogLevel, content); + + iTokenSecret = content.AllocL(); + ResetContentL(); + iState = KStateParsingTokenInfo; + } + else if (aLocalName == KTTLLocalName) + { + if (iTTL) + { + delete iTTL; + iTTL = NULL; + } + TLSLOG_L(KSenCoreServiceManagerLogChannelBase , KMinLogLevel,"WSOviTokenCreationResponse::ttl parsing"); + TLSLOG(KSenCoreServiceManagerLogChannelBase , KMinLogLevel, content); + iTTL = content.AllocL(); + ResetContentL(); + iState = KStateParsingTokenInfo; + } + else if ( aLocalName == KUserNameLocalName) + { + if (iUsername) + { + delete iUsername; + iUsername = NULL; + } + TLSLOG_L(KSenCoreServiceManagerLogChannelBase , KMinLogLevel,"WSOviTokenCreationResponse::username parsing"); + TLSLOG(KSenCoreServiceManagerLogChannelBase , KMinLogLevel, content); + iUsername = content.AllocL(); + ResetContentL(); + iState = KStateParsingUserInfo; + } + break; + } + case KStateParsingTokenInfo: + { + if (aLocalName == KTokenInfoLocalName) + { + iState = KStateIgnore; + } + break; + } + case KStateParsingUserInfo: + { + if (aLocalName == KUserInfoLocalName) + { + iState = KStateIgnore; + } + break; + } + default: + break; + } + } + + +CWSOviTokenCreationResponse::CWSOviTokenCreationResponse(): +iIsTokenUpdate(ETrue) + { + } + +CWSOviTokenCreationResponse::~CWSOviTokenCreationResponse() + { + delete iToken; + delete iTokenSecret; + delete iTTL; + delete iUsername; + } + +TPtrC8 CWSOviTokenCreationResponse::Token() + { + if (iToken) + { + return *iToken; + } + else + { + return KNullDesC8(); + } + } + +TPtrC8 CWSOviTokenCreationResponse::TokenSecret() + { + if (iTokenSecret) + { + return *iTokenSecret; + } + else + { + return KNullDesC8(); + } + } + +TPtrC8 CWSOviTokenCreationResponse::TTL() + { + if (iTTL) + { + return *iTTL; + } + else + { + return KNullDesC8(); + } + } + +TPtrC8 CWSOviTokenCreationResponse::Username() + { + if (iUsername) + { + return *iUsername; + } + else + { + return KNullDesC8(); + } + } + +TBool CWSOviTokenCreationResponse::IsTokenUpdate() + { + return iIsTokenUpdate; + }