PECengine/ListLibrary2/AuthSrc/CPEngAuthorizationTransactionOut.h
changeset 0 094583676ce7
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/PECengine/ListLibrary2/AuthSrc/CPEngAuthorizationTransactionOut.h	Thu Dec 17 08:41:52 2009 +0200
@@ -0,0 +1,214 @@
+/*
+* 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:  Authorization out transaction handler.
+*
+*/
+
+#ifndef __CPENGAUTHORIZATIONTRANSACTIONOUT_H__
+#define __CPENGAUTHORIZATIONTRANSACTIONOUT_H__
+
+//  INCLUDES
+#include <e32base.h>
+#include "MPEngOutgoingTransactionHandler.h"
+#include "PEngWVCspVersion.h"
+
+// CLASS DECLARATION
+class MPEngAuthorizationEngine;
+class CPEngAuthorizationResponse;
+class CPEngTransactionStatus;
+class MPEngXMLParser;
+class MPEngXMLSerializer;
+class MPEngPresenceAttrManager;
+
+
+/**
+ * Authorization out transaction handler.
+ *
+ * @lib PEngListLib2
+ * @since 3.0
+ */
+class CPEngAuthorizationTransactionOut : public CBase,
+            public MPEngOutgoingTransactionHandler
+    {
+    public:
+
+        /**
+         * Two-phased constructor.
+         */
+        static CPEngAuthorizationTransactionOut* NewLC(
+            MPEngAuthorizationEngine& aAuthEngine,
+            MPEngPresenceAttrManager& aAttrManager,
+            MPEngXMLParser& aXMLParser,
+            TPEngWVCspVersion& aCSPVersion,
+            TInt aOperationId );
+
+        /**
+         * Destructor.
+         */
+        virtual ~CPEngAuthorizationTransactionOut();
+
+
+    public: // From MPEngOutgoingTransactionHandler
+
+        /**
+         * Synchronous method, get Outgoing transaction request
+         * @see <MPEngOutgoingTransactionHandler.h>
+         */
+        void RequestL( TDes8& aSendBuffer );
+
+
+        /**
+         * Signals to the transaction handler thst it is last
+         * @see <MPEngOutgoingTransactionHandler.h>
+         */
+        void LastRunningTransactionHandler();
+
+
+        /**
+         * Process the response to the request.
+         * @see <MPEngOutgoingTransactionHandler.h>
+         */
+        void ProcessResponseL( const TDesC8& aResponse,
+                               TRequestStatus& aStatus );
+
+        /**
+         * Cancels asynchronous processing of the request
+         * @see <MPEngOutgoingTransactionHandler.h>
+         */
+        void CancelProcessing();
+
+
+        /**
+         * Support for simultaneous transaction handling
+         * @see <MPEngOutgoingTransactionHandler.h>
+         */
+        void NewTransactionHandlersL(
+            RPointerArray<MPEngOutgoingTransactionHandler>& aHandlers );
+
+        /**
+         * Function to signal completing of the transaction
+         * @see <MPEngOutgoingTransactionHandler.h>
+         */
+        TBool TransactionCompleted();
+
+
+        /**
+         * Gets transaction status result class
+         * @see <MPEngOutgoingTransactionHandler.h>
+         */
+        CPEngTransactionStatus* TransactionResult( );
+
+
+        /**
+         * Releases the handler
+         * @see <MPEngOutgoingTransactionHandler.h>
+         */
+        void ReleaseHandler();
+
+
+    public:  // Set authorization response
+
+        /**
+         * Set authorization response
+         * Function takes ownership
+         *
+         * @since 3.0
+         * @param aResponse authorization response
+         */
+        void SetAuthResponse( CPEngAuthorizationResponse* aResponse );
+
+
+
+    private: // XML message serializers
+
+        /**
+         * Append XML request to responde to authorization
+         *
+         * @since 3.0
+         * @param aXmlSerializer XML serializer
+         */
+        void AppendXMLPresenceAuthUserL( MPEngXMLSerializer& aXmlSerializer );
+
+
+        /**
+         * Append XML request to Cancel authorization
+         *
+         * @since 3.0
+         * @param aXmlSerializer XML serializer
+         */
+        void AppendXMLCancelAuthorizationL( MPEngXMLSerializer& aXmlSerializer );
+
+
+        /**
+         * Append in XML message User Id
+         *
+         * @since 3.0
+         * @param aXmlSerializer XML serializer
+         */
+        void AppendXMLUserIdL( MPEngXMLSerializer& aXmlSerializer );
+
+
+    private: // Constructors
+
+        /**
+         * C++ constructor.
+         */
+        CPEngAuthorizationTransactionOut(
+            MPEngAuthorizationEngine& aAuthEngine,
+            MPEngPresenceAttrManager& aAttrManager,
+            MPEngXMLParser& aXMLParser,
+            TPEngWVCspVersion& aCSPVersion,
+            TInt aOperationId );
+
+
+        /**
+         * Symbian constructor.
+         */
+        void ConstructL();
+
+
+    private:    // Data
+
+        /// REF: Authorization engine
+        MPEngAuthorizationEngine&               iAuthEngine;
+
+        /// REF: Attribute manager
+        MPEngPresenceAttrManager&               iAttributeManager;
+
+        /// REF: XML Parser
+        MPEngXMLParser&                         iXMLParser;
+
+        /// REF: CSP Version
+        TPEngWVCspVersion&                      iCSPVersion;
+
+        /// OWN: Transaction completed
+        TBool                                   iTransCompleted;
+
+        /// OWN: Authorization response
+        CPEngAuthorizationResponse*             iResponse;
+
+        /// OWN: Transaction status class
+        CPEngTransactionStatus*                 iTransactionStatus;
+
+        /// OWN: Operation Id
+        TInt                                    iOperationId;
+
+    };
+
+#endif      //  __CPENGAUTHORIZATIONTRANSACTIONOUT_H__
+
+
+
+//  End of File
+