--- /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;
+ }