wvuing/wvuiprocess/Inc/ccareactiveauthpc.h
changeset 0 094583676ce7
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wvuing/wvuiprocess/Inc/ccareactiveauthpc.h	Thu Dec 17 08:41:52 2009 +0200
@@ -0,0 +1,180 @@
+/*
+* Copyright (c) 2006 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:  Implementation for Reactive Authorization PC Interface
+*
+*/
+
+
+#ifndef CCAREACTIVEAUTHPC_H
+#define CCAREACTIVEAUTHPC_H
+
+
+// INCLUDES
+#include	"mcareactiveauthpc.h"
+#include    "MCAReactiveAuthObserver.h"
+
+
+
+
+
+// FORWARD DECLARATIONS
+class MCAReactiveAuthObserverPC;
+class MCAPresence;
+
+
+
+
+//class declaration
+/**
+ *  Implementation class for Reactive Authorization PC Interface
+ *
+ *  @lib wvuiprocessng.lib
+ *  @since 3.2
+ */
+class CCAReactiveAuthPC: public CBase,
+            public MCAReactiveAuthPC,
+            public MCAReactiveAuthObserver
+
+    {
+
+    public:
+
+        /**
+         * Symbian Two Phase Constructor
+         */
+        static CCAReactiveAuthPC* NewL();
+
+        /**
+         * virtual destructor
+         */
+        virtual ~CCAReactiveAuthPC();
+
+    private:
+        /**
+         * default constructor
+         */
+
+        CCAReactiveAuthPC( );
+
+
+        /**
+         * Second phased symbian constructor.
+         */
+        void ConstructL();
+
+    public:
+
+        /**
+         * Find any contact which id is aContactId
+         * @param aContactId Contactid to recognize contact.
+         * @return ETrue if contact found else EFalse
+         */
+        TBool FindAnyContactL( const TDesC& aContactId );
+
+
+        /**
+         * Get alias for given user.
+         * Use this only for one-shot rare operations.
+         * @param aUserId The user id for which to fetch alias attribute
+         * @return The alias, ownership is transferred.
+         * Leaves with KErrNotFound if the alias cannot be found,
+         * otherwise some other KErr-code (e.g. KErrNoMemory)
+         */
+        HBufC* GetAliasL( const TDesC& aUserId  );
+
+        /**
+         * Get the list of all users who have rejected the auth. request
+         * request for processing
+         * @param aUserId Will contain the user id
+         * @param aUserIdsArray list of all userids who have rejected the auth. request
+         */
+        void GetListOfRAStatusL( TDes& aUserId,
+                                 CDesCArray& aUserIdsArray  );
+
+        /**
+         * Get the information from the next reactive authorization request for
+         * processing
+         * @param aId Will contain the id for the request
+         * @param aUserId Will contain the user id
+         * @param aLastPos Position of previous found request in queue
+         * @return ETrue if there is another request in the queue
+         */
+        TBool GetNextPendingRARequestL( TInt& aId,
+                                        TDes& aUserId,
+                                        TInt& aLastPos );
+
+        /**
+         * Send reactive authorization response
+         * @param aId The id number given through observer
+         * @param aResponse The response, ETrue if authorizing,
+                             EFalse if denying
+         */
+        void SendReactiveAuthResponseL( TInt aId,
+                                        TBool aResponse );
+
+
+    public://From MCAReactiveAuthPC
+
+        /**
+         * To add the UI side observer for MCAReactiveAuthObserverPC
+         * events from the engine.
+         * @param aObserver - observer to be added
+         */
+        void AddReactiveAuthObserver( MCAReactiveAuthObserverPC* aObserver );
+
+        /**
+         * To remove the UI side observer for MCAReactiveAuthObserverPC
+         * events from the engine.
+         */
+        void RemoveReactiveAuthObserver();
+
+
+    public:// From MCAReactiveAuthObserver
+
+        /**
+         * Incoming pending reactive authorization request.
+         */
+        void HandleRAPendingReqL() ;
+
+        /**
+         * Incoming reactive authorization status message
+         */
+        void HandleRAStatusL() ;
+
+        /**
+         * Error handler, if any of the observer methods leave.
+         * @param aError The error code
+         */
+        void HandleRAError( TInt aError ) ;
+
+    private:
+
+        /**
+         * Does not own, do not delete
+         * iReactiveAuthObserverPC: a reference to the observer
+         * MCAReactiveAuthObserverPC for events
+         * from MCAReactiveAuthPC to UI. MCAReactiveAuthPC inturn receives
+         * the actual engine events from MCAReactiveAuthObserver.
+         */
+        MCAReactiveAuthObserverPC* iReactiveAuthObserverPC;
+
+        //Doesnt Own, Handle to chat presence
+        MCAPresence* iPresence;
+
+
+    };
+
+#endif      // CCAREACTIVEAUTHPC_H
+
+// End of File