diff -r 000000000000 -r 094583676ce7 wvuing/wvuiprocess/Inc/ccareactiveauthpc.h --- /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