IMPSengine/client/inc/impsfundhandler.h
changeset 0 094583676ce7
--- /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