web_plat/download_path_plugin_api/inc/DownloadPathHandler.h
branchRCL_3
changeset 36 c711bdda59f4
child 38 4917f9bf7995
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/web_plat/download_path_plugin_api/inc/DownloadPathHandler.h	Wed Mar 31 23:16:40 2010 +0300
@@ -0,0 +1,113 @@
+/*****************************************************************************
+  File        : DownloadPathHandler.h
+  Part of     : web_plat / download_path_plugin_api
+  Description : Download path handler plugin interface definition file
+  Version     : %version: 1 % << Don't touch! Updated by Synergy at check-out.
+
+  Copyright (c) 2010 Nokia Corporation.
+  This material, including documentation and any related
+  computer programs, is protected by copyright controlled by
+  Nokia Corporation. All rights are reserved. Copying,
+  including reproducing, storing, adapting or translating, any
+  or all of this material requires the prior written consent of
+  Nokia Corporation. This material also contains confidential
+  information which may not be disclosed to others without the
+  prior written consent of Nokia Corporation.
+
+ *****************************************************************************
+                      Declaration of the CDownloadPathHandler class
+ *****************************************************************************/
+
+#ifndef DOWNLOADPATHHANDLER_H
+#define DOWNLOADPATHHANDLER_H
+
+// INCLUDES
+#include <e32base.h>
+#include <ECom.h>
+#include <badesca.h>
+
+// FORWARD DECLARATIONS
+
+// UID of this interface
+const TUid KCDownloadPathHandlerUid = { 0x2002682B };
+
+/**
+*
+* @class    CDownloadPathHandler DownloadPathHandler.h
+* @brief    This is an interface of the Music Download Path Handler ECOM plugin
+*
+* @version  1.0
+*
+*/
+class CDownloadPathHandler : public CBase
+    {
+    public:
+
+        /**
+        * Instantiates an object of this type 
+        * using the aMatchString as the resolver parameter.
+        * @param  aMatchString - 8 bit resolver parameter (content mime type)
+        * @return CDownloadPathHandler instance
+        */
+        static CDownloadPathHandler* NewL( const TDesC8& aMatchString );
+        
+        /**
+        * Instantiates an object of this type 
+        * using the aMatchString as the resolver parameter.
+        * Leaves the pointer to the object on the cleanup stack.
+        * @param  aMatchString - 8 bit resolver parameter (content mime type)
+        * @return CDownloadPathHandler instance
+        */
+        static CDownloadPathHandler* NewLC( const TDesC8& aMatchString );
+
+        /**
+        * Instantiates an object of this type
+        * using the aMatchString as the resolver parameter.
+        * @param  aMatchString - 16 bit resolver parameter (content mime type)
+        * @return CDownloadPathHandler instance
+        */
+        static CDownloadPathHandler* NewL( const TDesC& aMatchString );
+
+        /**
+        * Instantiates an object of this type
+        * using the aMatchString as the resolver parameter.
+        * Leaves the pointer to the object on the cleanup stack.
+        * @param  aMatchString - 16 bit resolver parameter (content mime type)
+        * @return CDownloadPathHandler instance
+        */
+        static CDownloadPathHandler* NewLC( const TDesC& aMatchString );
+
+        /**
+        * Destructor.
+        */
+        virtual ~CDownloadPathHandler();
+    
+        /**
+        * Request a list of all available implementations which 
+        * satisfy this given interface.
+        * @param  aImplInfoArray - array to be filled in
+        * @return none
+        */
+        static void ListAllImplementationsL( RImplInfoPtrArray& aImplInfoArray );
+
+        /**
+        * Gets the updated destination path to store downloaded content.
+        * @param aFileName     File name with path.
+        * @param aDestPath     Destination path of the content.
+        */
+        virtual void GetUpdatedPathL( const TDesC& aFileName, TDes& aDestPath ) = 0;
+
+    protected:
+        /**
+        * Default C++ c'tor
+        */
+        inline CDownloadPathHandler();
+    
+    private:
+        // Unique instance identifier key
+        TUid iDtor_ID_Key;
+    };
+
+#include "DownloadPathHandler.inl"
+
+#endif /* DownloadPathHandler_H */