uiservicetab/vimpstengine/tsrc/vimpstengine_ut/src/stubs/s_vimpstengineavatarextention.h
changeset 0 5e5d6b214f4f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/uiservicetab/vimpstengine/tsrc/vimpstengine_ut/src/stubs/s_vimpstengineavatarextention.h	Tue Feb 02 10:12:18 2010 +0200
@@ -0,0 +1,148 @@
+/*
+* Copyright (c) 2008 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: s_vimpstengineavatarextention.h
+*
+*/
+#ifndef __CVIMPSTENGINEAVATAREXTENTION_H
+#define __CVIMPSTENGINEAVATAREXTENTION_H
+
+//  INCLUDES
+#include <e32base.h>
+
+#include "mvimpstengineavatarextention.h"
+#include "TVIMPSTEnums.h"
+#include "mvimpstenginesessioncntxtobserver.h"
+#include "cvimpstengineimagehandler.h"
+
+
+// FORWARD DECLARATIONS           
+class CVIMPSTEngineRequestMapper;
+class MPresenceFeatures;
+class MXIMPContext;
+class MXIMPIdentity;
+
+
+  
+// CLASS DECLARATION
+/**
+ * This Class implements the Contact Management Extention Feature
+ * @lib vimpstengine.lib
+ * @since S60 5.0 
+ */
+NONSHARABLE_CLASS( CVIMPSTEngineAvatarExtention ) : public CBase,							   
+							   public MVIMPSTEngineAvatarExtention,
+							   public MVIMPSTEngineSessionCntxtObserver
+						 	
+    {
+    
+    
+    public:  // Two-phased constructors and destructor
+
+        /**
+         * Two-phased constructor.
+         * @param aFeatures - Presentity Group
+         * @param aRequestMapper: Request Mapper for XIMP Events
+         */
+        
+        static CVIMPSTEngineAvatarExtention* NewL(
+        					TInt aServiceId,
+        					MPresenceFeatures& aFeatures,
+							CVIMPSTEngineRequestMapper& aRequestMapper);
+        /**
+         * Two-phased constructor.
+         * @param aFeatures - Presentity Group
+         * @param aRequestMapper: Request Mapper for XIMP Events
+         */										
+        static CVIMPSTEngineAvatarExtention* NewLC(
+        					TInt aServiceId,
+        					MPresenceFeatures& aFeatures,
+							CVIMPSTEngineRequestMapper& aRequestMapper);
+
+        /**
+         * C++ Destructor.
+         */
+        virtual ~CVIMPSTEngineAvatarExtention();
+        
+   	
+    private:
+		
+        /**
+         * default constructor
+         * @param aFeatures - Presentity Group
+         * @param aRequestMapper: event observer to get the notifications of the events.
+         */
+        CVIMPSTEngineAvatarExtention(
+        					TInt aServiceId,
+        					MPresenceFeatures& aFeatures,
+							CVIMPSTEngineRequestMapper& aRequestMapper);
+        
+        
+	 	
+    public: // See MVIMPSTEngineAvatarExtention   	
+		
+        /**
+	     * See MVIMPSTEngineAvatarExtention	     
+		 */
+         TInt UpdateAvtarToServerL(const TDesC& aFilename ,
+         							const  TDesC8& aMimetype);
+        
+        	
+	private:
+		/**
+		 * See MVIMPSTEngineSessionCntxtObserver		 
+		 */ 
+		void HandleSessionContextEventL( const MXIMPContext& aContext, 
+                                          const MXIMPBase& aEvent,
+                                          TXimpOperation aXimpOperation = EVIMPSTXimpOperationNoOperation);	                       
+
+	public: // From MVIMPSTEngineExtentionFeatures
+	
+		/**
+		* See MVIMPSTEngineExtentionFeatures
+		*/
+		TVIMPSTEnums::FeatureSupport IsSupported() const;
+		
+		
+		/**
+		* See MVIMPSTEngineExtentionFeatures
+		*/
+		TVIMPSTEnums::ExtentionType Type() const;
+		
+		/**
+         * See MVIMPSTEngineExtentionFeatures
+         */
+		void  SetSupported(TVIMPSTEnums::FeatureSupport aSupported) ;
+
+    		
+    private:   	
+        // serivice id
+        TInt iServiceId;
+        
+        // not own 
+	    MPresenceFeatures& iFeatures;	    
+    	
+       //doesnt own
+        CVIMPSTEngineRequestMapper& iRequestMapper;         
+    	 	
+    	//Whether the extention Feature Supported or not
+    	TVIMPSTEnums::FeatureSupport    iSupported; 
+
+    	//Result code from waited request
+	    TInt    iReqResult;
+	    
+    };
+    
+#endif      //__CVIMPSTENGINEAVATAREXTENTION_H
+
+// End of File