diff -r 000000000000 -r 62f9d29f7211 webservices/idwsfplugin/inc/idwsfsaslmessage.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/webservices/idwsfplugin/inc/idwsfsaslmessage.h Thu Jan 07 16:19:19 2010 +0200 @@ -0,0 +1,144 @@ +/* +* Copyright (c) 2002-2005 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: Header declaration +* +*/ + + + + + + + + +#ifndef IDWSF_SASL_MESSAGE_H +#define IDWSF_SASL_MESSAGE_H + +// INCLUDES +#include "msensaslmessage.h" +#include "idwsfdsqueryresponse.h" + +// CONSTANTS +const TInt KStateParsingPwTransforms = 15; + +_LIT8(KSaslXmlns, "urn:liberty:sa:2004-04"); +_LIT8(KSaslRequestName, "SASLRequest"); +_LIT8(KSaslRequestQName, "sa:SASLRequest"); +_LIT8(KSaslResponseName, "SASLResponse"); +_LIT8(KSaslResponseQName, "sa:SASLRequest"); + +// FORWARD DECLARATIONS +class CSenPasswordTransform; + +// CLASS DECLARATION +class CIdWsfSaslMessage : public CIdWsfDsQueryResponse, + public MSenSaslMessage + { + public: // Constructors and destructor + + static CIdWsfSaslMessage* NewL(MSenCoreServiceManager& aServiceManager); + static CIdWsfSaslMessage* NewL( MSenCoreServiceManager& aServiceManager, + const TDesC8& aXmlns, + const TDesC8& aLocalName, + const TDesC8& aQName ); + virtual ~CIdWsfSaslMessage(); + + // New functions + + /** + * Accepts KNullDesC. + */ + virtual TInt ConstructInitRequestFromL(const TDesC8& aAllMechanismNames, + CSenIdentityProvider& aAccount); + virtual TInt ConstructRequestFromL(const TDesC8& aMech); + virtual TInt ConstructRequestFromL(const TDesC8& aMech, + const TDesC8& aData); + + TBool IsContinue(); + TBool IsAbort(); + + /** + * @return KNullDesC if not set. + */ + TPtrC8 Mechanism(); + + /** + * @return KNullDesC if not set. + */ + TPtrC8 ParameterName(); + + /** + * @return KNullDesC if not set. + */ + TPtrC8 Data(); + + /** + * @return array of PasswordTransform ECOM plugins + * which may be empty if none have been parsed. + */ + RPointerArray Transforms(); + + private: + + /** + * C++ default constructor. + */ + CIdWsfSaslMessage(MSenCoreServiceManager& aServiceManager); + + /** + * By default Symbian 2nd phase constructors is private. + */ + void ConstructL(); + void ConstructL(const TDesC8& aXmlns, + const TDesC8& aLocalName, + const TDesC8& aQName); + + // New functions + + /** + * helper + * @return NULL if list is empty + */ + CSenPasswordTransform* LastParsedPasswordTransform(); + + RFileLogger* Log() const; + + // Functions from base classes + + // From CBaseFragment + virtual void StartElementL(const TDesC8& aNsUri, + const TDesC8& aLocalName, + const TDesC8& aQName, + const RAttributeArray& aAttributes); + + virtual void EndElementL(const TDesC8& aNsUri, + const TDesC8& aLocalName, + const TDesC8& aQName); + + + protected: // Data + + // to access base64, encoding/decoding + MSenCoreServiceManager& iServiceManager; + + private: // Data + HBufC8* ipMechanism; // Owned + HBufC8* ipParameterName; // Owned + RPointerArray iTransforms; // NOT owned + }; + +#endif // IDWSF_SASL_MESSAGE_H + +// End of File +