--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webservices/wsidentitymanager/inc/msenidentity.h Thu Jan 07 16:19:19 2010 +0200
@@ -0,0 +1,181 @@
+/*
+* 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 M_SEN_IDENTITY_H
+#define M_SEN_IDENTITY_H
+
+
+#include <e32base.h>
+#include <e32des8.h> // HBufC8
+
+#include <SenIdentityProvider.h>
+//TYPEDEFS
+typedef RPointerArray<CSenIdentityProvider> RIdentityProviderList;
+
+// CLASS DECLARATION
+class MSenIdentity
+ {
+ public: // New functions
+
+ /**
+ * Getter for name.
+ * @return name of the identity
+ */
+ virtual const TDesC8& Name() = 0;
+
+ /**
+ * Getter for user name.
+ * @return user name of the identity
+ */
+ virtual const TDesC8& UserName() = 0;
+
+ /**
+ * Getter for type.
+ * @return type of the identity
+ */
+ virtual const TDesC8& Type() = 0;
+
+ /**
+ * @return the default IdentityProvider of the Identity.
+ */
+ virtual CSenIdentityProvider* IdentityProviderL() = 0;
+
+ /**
+ * @param aService
+ * @return the IdentityProvider that has the ServiceID
+ * that best mathces the endpoint or providerID
+ * of the given ServiceDescription.
+ */
+ virtual CSenIdentityProvider* IdentityProviderL(
+ MSenServiceDescription& aService) = 0;
+ /**
+ * @param aURI
+ * @return the IdentityProvider that has the ServiceID
+ * that best mathces the given URI.
+ */
+ virtual CSenIdentityProvider* IdentityProviderL( const TDesC8& aURI ) = 0;
+
+ /**
+ * @param aIdpList an array of ProviderIDs
+ * @param strict if set to true only an IdentityProvider from the List
+ * will be returned, and null if none of the list entries is known to the
+ * current active Identity.
+ * @return the currently preferred IdentityProvider
+ * from within the given List with ProviderIDs.
+ */
+ virtual CSenIdentityProvider* IdentityProviderL(
+ const CDesC8Array& aIdpList,
+ TBool aStrict) = 0;
+ /**
+ * @param aService
+ * @param aIdpList an array of ProviderIDs
+ * @param strict if set to true only an IdentityProvider from the List
+ * will be returned, and null if none of the list entries is known to the
+ * current active Identity.
+ * @return the currently preferred IdentityProvider
+ * from within the given List with ProviderIDs.
+ */
+ virtual CSenIdentityProvider* IdentityProviderL(
+ MSenServiceDescription& aService,
+ const CDesC8Array& aIdpList,
+ TBool aStrict) = 0;
+
+ /**
+ * Checks if Identity already has an identity provider with given data.
+ * Existing identity provider can still have more data than the pattern.
+ * @param aContains will contain the boolean value on return. ETrue if
+ * contains, EFalse otherwise.
+ * @param aIDP the pattern identity provider.
+ * @return KErrNone or system-wide error code.
+ */
+ virtual TInt ContainsIdentityProviderL( TBool& aContains,
+ CSenIdentityProvider& aIDP) = 0;
+
+ /**
+ * Register an IdentityProvider for the current active Identity.
+ * @param aIdp a registered IdentityProvider. Ownership of the
+ * argument is transferred into this class from the caller.
+ * @return KErrNone or system-wide error code.
+ */
+ virtual TInt RegisterIdentityProviderL( CSenIdentityProvider* aIdp ) = 0;
+
+ virtual TInt UpdateIdentityProviderL(CSenIdentityProvider& aIdp) = 0;
+
+ /**
+ * Unregister an IdentityProvider for the current active Identity.
+ * @param aIdp an unregistered IdentityProvider
+ * @return KErrNone if everything goes OK.
+ * KErrNotFound if correct identity provider was not found
+ * Other error codes are system-wide Symbian error codes.
+ */
+ virtual TInt UnregisterIdentityProviderL( CSenIdentityProvider& aIdp) = 0;
+
+ /**
+ * Associate a service to an IdentityProvider.
+ * @param aServiceID the contract or endpoint of a service
+ * @param aProviderID the id of an IdentityProvider
+ * @return true if successful. Failure may be caused by non-existence
+ * of the IdentityProvider for the current user.
+ */
+ virtual TBool AssociateServiceL( const TDesC8& aServiceID,
+ const TDesC8& aProviderID ) = 0;
+
+ /**
+ * Dissociate a service from an IdentityProvider.
+ * @param aServiceID the contract or endpoint of a service
+ * @param aProviderID the id of an IdentityProvider
+ * @return true if successful. Failure may be caused by non-existence
+ * of the IdentityProvider for the current user.
+ */
+ virtual TBool DissociateServiceL(const TDesC8& aServiceID,
+ const TDesC8& aProviderID ) = 0;
+
+ virtual TInt FindMatchingIdentityProviderL(CSenIdentityProvider &aIdp,
+ CSenIdentityProvider*& apMatch) = 0;
+
+ /**
+ * Write the Identity as XML into a write stream.
+ * This method is invoked by the IdentityManager when it saves
+ * its state and/or configuration.
+ * Identities should serialize sufficient information
+ * to enabled re-instantiation from the same XML content.
+ */
+ virtual void WriteAsXMLToL(RWriteStream& aWriteStream) = 0;
+
+ /**
+ * Write the Identity as XML into 8-bit (UTF-8) buffer
+ */
+ virtual HBufC8* AsXmlL() = 0;
+
+ /**
+ * Write the Identity as XML into 8-bit (Unicode) buffer
+ */
+ virtual HBufC* AsXmlUnicodeL() = 0;
+
+ virtual const RIdentityProviderList& IdentityProvidersL() const = 0;
+ };
+
+#endif // M_SEN_IDENTITY_H
+
+// End of File