diff -r 000000000000 -r 094583676ce7 IMPSengine/client/inc/impsfundhandler.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/IMPSengine/client/inc/impsfundhandler.h Thu Dec 17 08:41:52 2009 +0200 @@ -0,0 +1,143 @@ +/* +* 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: +* imps fundemental feature handler for imps engine. +* +*/ + + +#ifndef CImpsFundHandler_H +#define CImpsFundHandler_H + +// INCLUDES +#include "impshandler.h" +#include "impsfundamental.h" + +// FORWARD DECLARATIONS +class RImpsFundClient2; +class MImpsFundHandler2; +class CImpsDataAccessor; + +// CLASS DECLARATION + + class CImpsFundHandler2 :public CImpsHandler2 + { + public: // Constructors and destructor + + /** + * Two-phase constructor. + * @param aClient a client session + * @param aPriority active object priority + */ + static CImpsFundHandler2* NewL( RImpsFundClient2& aClient, + TInt aPriority ); + + /** + * Destructor. + */ + virtual ~CImpsFundHandler2(); + + private: + + /** + * By default Symbian OS constructor is private. + */ + void ConstructL(); + + /** + * C++ default constructor. + */ + CImpsFundHandler2( TInt aPriority, RImpsFundClient2& aClient ); + + /** + * Call appropriate observer + * @param aErrorFields used if error case. NULL or ImpsFields structure + */ + void HandleEventL( CImpsFields* aErrorFields ); + + /** + * Handle the fundamental events + */ + void HandleFundamentalEventL( ); + + /** + * Handle a search response + * @param aOpId OpId of the initial request + */ + void HandleSearchResponseL( const TInt aOpId ); + + /** + * Handle an invitation coming our way + */ + void HandleInviteRequestL(); + + /** + * Handle invitation responses from the recipients + */ + void HandleInviteResponseL(); + + /** + * Handle the cancellation of invitations + */ + void HandleInviteCancelL(); + + /** + * Fetch a descriptor type of element from the response + * @param aContent Name of the element to fetch + * @param aIndex Index of the element + * @return TPtrC + */ + TPtrC DescriptorElementL( const TImpsContent aContent, + const TInt aIndex ); + + /** + * Fetch an integer type of element from the response + * @param aContent Name of the element to fetch + * @param aIndex Index of the element + * @return TInt + */ + TInt IntegerElementL( const TImpsContent aContent, + const TInt aIndex ); + + /** + * Fetch a boolean type of element from the response + * @param aContent Name of the element to fetch + * @param aIndex Index of the element + * @return TBool + */ + TBool BooleanElementL( const TImpsContent aContent, + const TInt aIndex ); + + /** + * Returns the search results from received from the remote host + * @param aResultType Upon return, contains the type of the results + * @return CPtrC16Array Pointer to an array of strings + */ + CPtrC16Array* SearchResultsLC( TImpsSearchResultType& aResultType ); + + // By default, prohibit copy constructor + CImpsFundHandler2( const CImpsFundHandler2& ); + // Prohibit assigment operator + CImpsFundHandler2& operator= ( const CImpsFundHandler2& ); + + private: // Data + + RImpsFundClient2& iClient; + CImpsDataAccessor* iDataAccessor; + CImpsKey* iKey; + }; + +#endif + +// End of File