--- a/epoc32/include/mw/sencredential2.h Tue Nov 24 13:55:44 2009 +0000
+++ b/epoc32/include/mw/sencredential2.h Tue Mar 16 16:12:26 2010 +0000
@@ -1,1 +1,324 @@
-sencredential2.h
+/*
+* Copyright (c) 2002-2006 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 "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
+* which accompanies this distribution, and is available
+* at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Class implements (web) service credential functionality
+*
+*/
+
+
+
+
+
+
+
+
+#ifndef SEN_CREDENTIAL2_H
+#define SEN_CREDENTIAL2_H
+
+// INCLUDES
+#include <e32base.h>
+#include <s32strm.h>
+#include <SenFragmentBase.h>
+#include <SenDomFragmentBase.h>
+
+// CONSTANTS
+_LIT8(KCredentialsName2, "Credentials");
+_LIT8(KEndpointName2, "Endpoint");
+_LIT8(KSecurityMechIdName2, "SecurityMechID");
+_LIT8(KNotOnOrAfterName2, "NotOnOrAfter");
+_LIT8(KConditionsName2, "Conditions");
+
+_LIT8(KSenCredentialId, "CredentialId");
+_LIT8(KSenCredentialValidUntil, "ValidUntil");
+_LIT8(KSenCredentialIdentifierLocalname,"Identifier");
+_LIT8(KSenCredentialProperteisLocalname,"Properties");
+
+// FORWARD DECLARATIONS
+class SenDateUtils;
+class CSenCredentialIdentifier;
+class CSenXmlServiceDescription;
+class CSenIdentityProvider;
+class CSenServiceSession;
+class CSenFacet;
+
+// CLASS DECLARATION
+
+/**
+* Class implements (web) service credential functionality
+* @lib SenServDesc.lib
+* @since Series60 3.0
+*/
+class CSenCredential2 : public CSenFragmentBase
+ {
+ public: // Constructors and destructor
+
+ /**
+ * Basic constructor.
+ *
+ * @since Series60 4.0
+ */
+ static CSenCredential2* NewL();
+
+ /**
+ * Basic constructor.
+ *
+ * @since Series60 4.0
+ */
+ static CSenCredential2* NewLC();
+
+ /**
+ * Basic constructor.
+ *
+ * @since Series60 4.0
+ * @param aNsUri is the XML namespace of this credential
+ * @param aLocalName is the XML localname of this credential
+ * @param aPrefix is the prefix of this credential
+ * @param aAttrs are the XML attributes of this credential
+ */
+ static CSenCredential2* NewL(const TDesC8& aNsUri,
+ const TDesC8& aLocalName,
+ const TDesC8& aQName,
+ const RAttributeArray& aAttributes);
+
+ /**
+ * Basic constructor.
+ *
+ * @since Series60 4.0
+ * @param aNsUri is the XML namespace of this credential
+ * @param aLocalName is the XML localname of this credential
+ * @param aPrefix is the prefix of this credential
+ * @param aAttrs are the XML attributes of this credential
+ */
+ static CSenCredential2* NewLC(const TDesC8& aNsUri,
+ const TDesC8& aLocalName,
+ const TDesC8& aQName,
+ const RAttributeArray& aAttributes);
+
+ /**
+ * Basic constructor.
+ *
+ * @since Series60 4.0
+ * @param aNsUri is the XML namespace of this credential
+ * @param aLocalName is the XML localname of this credential
+ * @param aPrefix is the prefix of this credential
+ * @param aAttrs are the XML attributes of this credential
+ * @param aParent is the parent XML element of this credential
+ */
+ static CSenCredential2* NewL(const TDesC8& aNsUri,
+ const TDesC8& aLocalName,
+ const TDesC8& aQName,
+ const RAttributeArray& aAttributes,
+ TXmlEngElement& aParent);
+
+ /**
+ * Basic constructor.
+ *
+ * @since Series60 4.0
+ * @param aNsUri is the XML namespace of this credential
+ * @param aLocalName is the XML localname of this credential
+ * @param aPrefix is the prefix of this credential
+ * @param aAttrs are the XML attributes of this credential
+ * @param aParent is the parent XML element of this credential
+ */
+ static CSenCredential2* NewLC(const TDesC8& aNsUri,
+ const TDesC8& aLocalName,
+ const TDesC8& aQName,
+ const RAttributeArray& aAttributes,
+ TXmlEngElement& aParent);
+
+ /**
+ * Basic constructor.
+ *
+ * @since Series60 4.0
+ * @param aNsUri is the XML namespace of this fragment
+ * @param aLocalName is the XML localname of this fragment
+ * @param aPrefix is the prefix of this fragment
+ * @param aAttrs are the XML attributes of this fragment
+ * @param aParent is the parent XML element of this fragment
+ * @param aOwnerDocument is the document which will be the owner of
+ * the elements of this fragment
+ */
+ static CSenCredential2* NewL(const TDesC8& aNsUri,
+ const TDesC8& aLocalName,
+ const TDesC8& aQName,
+ const RAttributeArray& aAttrs,
+ TXmlEngElement& aParent,
+ RSenDocument& aOwnerDocument);
+
+ /**
+ * Basic constructor.
+ *
+ * @since Series60 4.0
+ * @param aNsUri is the XML namespace of this fragment
+ * @param aLocalName is the XML localname of this fragment
+ * @param aPrefix is the prefix of this fragment
+ * @param aAttrs are the XML attributes of this fragment
+ * @param aParent is the parent XML element of this fragment
+ * @param aOwnerDocument is the document which will be the owner of
+ * the elements of this fragment
+ */
+ static CSenCredential2* NewLC(const TDesC8& aNsUri,
+ const TDesC8& aLocalName,
+ const TDesC8& aQName,
+ const RAttributeArray& aAttrs,
+ TXmlEngElement& aParent,
+ RSenDocument& aOwnerDocument);
+
+ /**
+ * Constructor which copies itself from another credential.
+ *
+ * @since Series60 4.0
+ * @param aCredential credential to copy from.
+ * @return new CSenCredential instance pointer
+ */
+ IMPORT_C static CSenCredential2* NewL(const CSenCredential2& aCredential);
+
+ /**
+ * Constructor which copies itself from another credential.
+ *
+ * @since Series60 4.0
+ * @param aCredential credential to copy from.
+ * @return new CSenCredential instance pointer, which is left on
+ * cleanup stack.
+ */
+ IMPORT_C static CSenCredential2* NewLC(const CSenCredential2& aCredential);
+
+ /**
+ * Destructor.
+ */
+ IMPORT_C virtual ~CSenCredential2();
+
+ // New functions
+
+ /**
+ * Getter for the credential ID.
+ *
+ * @since Series60 4.0
+ * @return the ID
+ */
+ IMPORT_C virtual const TDesC8& Id();
+
+ /**
+ * Getter for the credential expiration time.
+ * @since Series60 3.0
+ * @return the the expiration time
+ */
+ IMPORT_C virtual TTime& ValidUntil();
+
+ /**
+ * Setter for the credential expiration time.
+ *
+ * @since Series60 4.0
+ * @param aTime The new expiration time
+ */
+ IMPORT_C virtual void SetValidUntil(TTime& aTime);
+
+ protected: // Functions from base classes
+
+ /**
+ * C++ default constructor.
+ */
+ IMPORT_C CSenCredential2();
+
+
+ IMPORT_C virtual void OnStartElementL(const RTagInfo& aElement,
+ const RAttributeArray& aAttributes,
+ TInt aErrorCode);
+
+ /**
+ * @since Series60 4.0
+ * @param aNsUri is the XML namespace as UTF-8 descriptor
+ * @param aLocalName is the XML localname as UTF-8 descriptor
+ * @param aQName is the XML qualifiedname as UTF-8 descriptor
+ * @param aAttributes is the list of XML attributes
+ */
+ IMPORT_C void BaseConstructL(const TDesC8& aNsUri,
+ const TDesC8& aLocalName,
+ const TDesC8& aQName,
+ const RAttributeArray& aAttributes);
+
+ /**
+ * @since Series60 4.0
+ * @param aNsUri is the XML namespace as UTF-8 descriptor
+ * @param aLocalName is the XML localname as UTF-8 descriptor
+ * @param aQName is the XML qualifiedname as UTF-8 descriptor
+ * @param aAttributes is the list of XML attributes
+ * @param aParent is the parent element, which may declare other
+ * namespaces.
+ */
+ IMPORT_C void BaseConstructL(const TDesC8& aNsUri,
+ const TDesC8& aLocalName,
+ const TDesC8& aQName,
+ const RAttributeArray& aAttributes,
+ TXmlEngElement& aParent);
+
+ /**
+ * By default Symbian 2nd phase constructor is private.
+ *
+ * @since Series60 4.0
+ * @param aNsUri is the XML namespace as UTF-8 descriptor
+ * @param aLocalName is the XML localname as UTF-8 descriptor
+ * @param aQName is the XML qualifiedname as UTF-8 descriptor
+ * @param aAttributes is the list of XML attributes
+ * @param aParent is the parent element, which may declare other
+ * namespaces.
+ * @param aOwnerDocument is the document which will be the owner of
+ * the elements of this credential
+ */
+ IMPORT_C void BaseConstructL(const TDesC8& aNsUri,
+ const TDesC8& aLocalName,
+ const TDesC8& aQName,
+ const RAttributeArray& aAttributes,
+ TXmlEngElement& aParent,
+ RSenDocument& aOwnerDocument);
+ /**
+ * By default Symbian 2nd phase constructor is private.
+ *
+ * @since Series60 4.0
+ * @param aCredential is the source credential to be copied.
+ */
+ IMPORT_C void BaseConstructL(CSenCredential2& aCredential);
+
+
+ private:
+ /**
+ * By default Symbian 2nd phase constructor is private.
+ *
+ * BaseConstructL for setting XML localname for this Credential.
+ * @since Series60 4.0
+ * @param aLocalName XML localname for this Credential
+ */
+ IMPORT_C void ConstructL(const TDesC8& aLocalName);
+
+ // New functions
+
+ /**
+ * Setter for Credential ID
+ *
+ * @since Series60 4.0
+ * @param aId is the unique ID for this Credential
+ */
+ void SetIdL(const TDesC8& aId);
+
+ private: // Data
+ // Unique ID for this credential. Owned.
+ HBufC8* iId;
+ // One may use SenDateUtils to convert from XML date descrtor to TTime
+ TTime iNotOnOrAfter;
+ };
+
+#endif // SEN_CREDENTIAL2_H
+
+// End of File
+
+