--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/PECengine/ListLibrary2/AuthSrc/CPEngAuthorizationRequest.h Thu Dec 17 08:41:52 2009 +0200
@@ -0,0 +1,264 @@
+/*
+* Copyright (c) 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: Container of the one reactive authorization request
+*
+*/
+
+#ifndef __CPENGAUTHORIZATIONREQUEST_H__
+#define __CPENGAUTHORIZATIONREQUEST_H__
+
+// INCLUDES
+#include "CPEngAuthorizationItem.h"
+#include "MPEngAuthorizationRequest.h"
+#include <e32base.h>
+
+
+// FORWARD DECLARATION
+class MPEngAuthorizationManagerSet;
+
+
+// CLASS DECLARATION
+/**
+ * Container of the one reactive authorization request
+ *
+ * @lib PEngListLib2
+ * @since 3.0
+ */
+class CPEngAuthorizationRequest : public CPEngAuthorizationItem,
+ public MPEngAuthorizationRequest
+ {
+ public: // Constructors and destructor
+
+ /**
+ * Two-phased constructor,
+ */
+ static CPEngAuthorizationRequest* NewLC( const TDesC& aUserId,
+ TInt& aSize );
+
+ /**
+ * Two-phased constructor, constructs class from the Stream
+ */
+ static CPEngAuthorizationRequest* NewLC( RReadStream& aStream,
+ TInt& aSize );
+
+ /**
+ * Destructor.
+ */
+ virtual ~CPEngAuthorizationRequest();
+
+
+ public: // From CPEngAuthorizationItem
+
+ /**
+ * Update local flag.
+ * @see <CPEngAuthorizationItem.h>
+ */
+ void DoUpdateLocalFlags( const CPEngAuthorizationItem& aSource );
+
+
+
+ public: // From MPEngAuthorizationRequest
+
+ /**
+ * User id of the user who requested authorization
+ * @see <MPEngAuthorizationRequest.h>
+ */
+ const TDesC& UserId() const;
+
+
+ /**
+ * List of request attributes
+ * @see <MPEngAuthorizationRequest.h>
+ */
+ const RArray<TUint32>& RequestedAttributes() const;
+
+
+ /**
+ * State of the authorization
+ * @see <MPEngAuthorizationRequest.h>
+ */
+ MPEngAuthorizationRequest::TPEngAuthorizationRequestState AuthorizationState() const;
+
+
+ /**
+ * State of the authorization response
+ * @see <MPEngAuthorizationRequest.h>
+ */
+ MPEngAuthorizationRequest::TPEngAuthorizationResponseType AuthorizationResponse() const;
+
+
+ /**
+ * List of authorized attributes
+ * @see <MPEngAuthorizationRequest.h>
+ */
+ const RArray<TUint32>& AuthorizedAttributes() const;
+
+
+ /**
+ * Set authorization response
+ * @see <MPEngAuthorizationRequest.h>
+ */
+ void SetAuthorizedAttributesL( TArray<TUint32>& aAttributes,
+ TBool aKeepOldAuthorization = ETrue );
+
+ void DenyAuthorizationL();
+
+ void CancelAuthorizationL();
+
+
+
+ /**
+ * Removes buffered authorization response
+ * @see <MPEngAuthorizationRequest.h>
+ */
+ void RemoveAuthorizationResponse();
+
+
+ /**
+ * Extension interface.
+ * @see <MPEngAuthorizationRequest.h>
+ */
+ MPEngAuthorizationRequestExt* Extension() {
+ return NULL;
+ };
+ const MPEngAuthorizationRequestExt* Extension() const {
+ return NULL;
+ };
+
+
+
+ public: // Authorization update
+
+ /**
+ * Set Authorization manager pointer
+ *
+ * @since 3.0
+ * @param aAuthManager authorization manager
+ */
+ void SetAuthorizationManager( MPEngAuthorizationManagerSet* aAuthManager );
+
+
+ /**
+ * Update authorization state
+ *
+ * @since 3.0
+ * @param aState new state of authorization request
+ */
+ void SetAuthState( TPEngAuthorizationRequestState aState );
+
+
+ /**
+ * Update authorization response
+ *
+ * @since 3.0
+ * @param aResponse new response of authorization request
+ */
+ void SetAuthResponse( TPEngAuthorizationResponseType aResponse );
+
+ /**
+ * Update authorized Attributes
+ *
+ * @since 3.0
+ * @param aAuthorizedAttr authorized attributes
+ */
+ void UpdateAuthorizedAttributesL( const RArray<TUint32>& aAuthorizedAttr );
+
+
+ /**
+ * Set requested attributes for authorization
+ *
+ * @since 3.0
+ * @param aRequestedAttr
+ */
+ void UpdateRequestedAttributesL( const RArray<TUint32>& aRequestedAttr );
+
+
+ /**
+ * Add Attribute to the requested attributes
+ *
+ * @since 3.0
+ * @param aAttribute attribute to add to requested attributes
+ */
+ void AddRequestedAttributeL( TUint32 aAttribute );
+
+
+ /**
+ * Externalize to the given stream
+ * @since 3.0
+ * @param aStream write stream
+ */
+ void ExternalizeL( RWriteStream& aStream ) const ;
+
+
+ /**
+ * Internalize from the given stream
+ * @since 3.0
+ * @param aStream read stream
+ */
+ void InternalizeL( RReadStream& aStream );
+
+
+
+ /**
+ * Compare function toe use with RPointerArray.
+ *
+ * Two instances are compared based on the TDesC.CompareF function
+ * of the requesting Id
+ *
+ * @since 3.0
+ * @param aFirst fist class for comparison
+ * @param aSecond second class for comparison
+ * @return -1 if fist is smaller,
+ * +1 is second is smaller,
+ * 0 if they are same
+ */
+ static TInt Compare( const CPEngAuthorizationRequest& aFirst,
+ const CPEngAuthorizationRequest& aSecond );
+
+
+ private: // constructors
+
+ /**
+ * C++ constructor.
+ */
+ CPEngAuthorizationRequest( TInt& aSize );
+
+ /**
+ * Symbian constructor
+ */
+ void ConstructL( const TDesC& aUserId );
+
+
+ private: // Data
+
+ /// OWN: State of authorization
+ TPEngAuthorizationRequestState iState;
+
+ /// OWN: Authorization response type
+ TPEngAuthorizationResponseType iResponseType;
+
+ /// OWN: Request Attributes
+ RArray<TUint32> iRequestedAttr;
+
+ /// OWN: Authorized Attributes
+ RArray<TUint32> iAuthorizedAttr;
+
+ /// REF: Authorization manager
+ MPEngAuthorizationManagerSet* iAuthManager;
+ };
+
+#endif // __CPENGAUTHORIZATIONREQUEST_H__
+
+// End of File
+