phonesrv_plat/phone_client_image_handler_api/inc/CPhCltImageHandler.h
changeset 0 ff3b6d0fd310
child 19 7d48bed6ce0c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesrv_plat/phone_client_image_handler_api/inc/CPhCltImageHandler.h	Tue Feb 02 01:11:09 2010 +0200
@@ -0,0 +1,136 @@
+/*
+* Copyright (c) 2004-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:  Image storing and loading interface.
+*
+*/
+
+
+#ifndef CPHCLTIMAGEHANDLER_H
+#define CPHCLTIMAGEHANDLER_H
+
+#include <e32base.h>
+#include "CPhCltImageParams.h"
+
+// FORWARD DECLARATIONS
+class RPhCltServer;
+class CPhCltImageParams;
+class RFile;
+
+/**
+* Interface for image saving callback.
+*/
+class MPhCltImageObserver
+    {
+public:
+    /**
+    * Callback for image saving.
+    * @param aResult KErrNone if image saving succeeded, or a Symbian OS
+    *        error code in failure.
+    */
+    virtual void HandleImageSaveCompleteL( TInt aResult ) = 0;
+    };
+    
+/**
+*  Interface used in image storing to PhoneServer.
+*
+*  @lib PhoneClient.lib
+*  @since S60 v3.2
+*/
+class CPhCltImageHandler : public CBase
+    {
+    
+    public:  // Constructors 
+        /**
+        * Two-phased constructor.
+        */
+        IMPORT_C static CPhCltImageHandler* NewL();
+        
+    public: // New functions
+
+        /**
+        * Save image(s)
+        * @param aParam parameters passed 
+        * @return KErrNone if successful, Symbian error code otherwise.
+        * NOTE: can be used to delete operator logos,
+        * @see CPhCltExtOperatorLogoParams::SetCodesL
+        * @see CPhCltExtOperatorLogoParams::AddImageL        
+        */
+        virtual TInt SaveImages( CPhCltImageParams& aParams ) = 0;
+            
+        /**
+        * Load image(s)
+        * @param aParam parameters in return passed 
+        * @return KErrNone if successful, Symbian error code otherwise.
+        */
+        virtual TInt LoadImages( CPhCltImageParams*& aParams ) = 0;
+
+        /**
+        * Creates image parameter class.
+        * @param aType type of the implementation class.
+        * @return CPhCltBaseImageParams implementation class. 
+        *         NULL if not supported.
+        *         Ownership transferred.
+        */
+        IMPORT_C virtual CPhCltImageParams* 
+            CPhCltBaseImageParamsL( const TPhCltImageType aType ) = 0; 
+        
+        
+        /**
+        * Saves user defined video call still image file. This makes copy
+        * of original file to secure place.
+        * @param aObserver callback for notifying result of the operation
+        * @param aImagePath full path to image to be saved
+        * @since S60 v5.0
+        */
+        virtual void SaveVtImageL( MPhCltImageObserver& aObserver,
+            const TDesC& aImagePath ) = 0;
+                        
+        /**
+        * Cancels pending image saving. This may be no-op from saving point
+        * of view (image is actually saved) but resets internal state to such
+        * that no operation is pending.
+        * @since S60 v5.0
+        */
+        virtual void CancelSaveVtImage() = 0;
+        
+        /**
+         * Opens user defined video call still image file.
+         * @param aFile file handle that shall to point to image file
+         *        Client should close the file after use.
+         * @return KErrNone if successful, Symbian error code otherwise.
+         * @since S60 v5.0
+         */
+        virtual TInt OpenVtImage( RFile& aFile ) = 0;
+                
+       /**
+        * Opens predefined (read-only) video call still image file.
+        * @param aFile file handle that shall point to image file.
+        *        Client should close the file after use.
+        * @return KErrNone if successful, Symbian error code otherwise.
+        * @since S60 v5.0
+        */
+        virtual TInt OpenDefaultVtImage( RFile& aFile ) = 0;
+
+      protected:
+                               
+        /**
+        * C++ constructor.
+        */
+       CPhCltImageHandler();
+    };
+
+
+#endif      // CPHCLTIMAGEHANDLER_H
+
+// End of File