ncdengine/engine/transport/inc/catalogshttpconfig.h
changeset 0 ba25891c3a9e
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ncdengine/engine/transport/inc/catalogshttpconfig.h	Thu Dec 17 08:51:10 2009 +0200
@@ -0,0 +1,193 @@
+/*
+* Copyright (c) 2006 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:  
+*
+*/
+
+
+#ifndef M_CATALOGSHTTPCONFIG_H
+#define M_CATALOGSHTTPCONFIG_H
+
+#include <e32base.h>
+#include "catalogstransporttypes.h"
+#include "catalogshttptypes.h"
+
+class MCatalogsHttpObserver;
+class MCatalogsHttpHeaders;
+class RReadStream;
+class RWriteStream;
+class TCatalogsConnectionMethod;
+
+
+/**
+* Interface for setting HTTP configurations
+*/
+class MCatalogsHttpConfig
+    {
+    public:
+    
+        /**
+        * Set operation priority
+        *
+        * @param aPriority Operation priority
+        */        
+        virtual void SetPriority( TCatalogsTransportPriority aPriority ) = 0;    
+    
+        
+        /**
+        * Returns the operation priority
+        *
+        * @return Operation priority
+        */
+        virtual TCatalogsTransportPriority Priority() const = 0;
+        
+        
+        /**
+        * Sets the source/target directory for Transport operations
+        *
+        * @param aDirectory Directory path
+        * @note If set as empty, the directory must be set for each
+        * download explicitly
+        */
+        virtual void SetDirectoryL( const TDesC& aDirectory ) = 0;
+
+
+        /**
+        * Returns the target directory 
+        *        
+        * @return Directory path
+        */
+        virtual const TDesC& Directory() const = 0;
+
+
+        /**
+        * Sets the source/target filename for Transport operations
+        *
+        * @param aFilename Filename without the path
+        */
+        virtual void SetFilenameL( const TDesC& aFilename ) = 0;
+
+
+        /**
+        * Returns the source/target filename without the path 
+        *        
+        * @return Filename
+        */
+        virtual const TDesC& Filename() const = 0;
+
+        
+        /**
+         * Returns full path of the target file
+         *
+         * @return Filename
+         */                   
+        virtual HBufC* FullPathLC() const = 0;    
+        
+        
+        /**
+        * Returns the current request headers
+        *
+        * @return Headers
+        */
+        virtual MCatalogsHttpHeaders& RequestHeaders() const = 0;
+                
+        
+        // Access point
+        
+        /**
+        * Sets the access point
+        *
+        * @param aAccessPointId Access point ID
+        */
+        virtual void SetConnectionMethod( 
+            const TCatalogsConnectionMethod& aMethod ) = 0;
+        
+        
+        /**
+        * Access point getter
+        *
+        * @return Default access point ID
+        */
+        virtual const TCatalogsConnectionMethod& ConnectionMethod() const = 0;
+
+              
+        /**
+        * Sets the observer for the operation
+        *
+        * @param aObserver Operation observer
+        */
+        virtual void SetObserver( MCatalogsHttpObserver* aObserver ) = 0;
+                                
+                                
+        /**
+        * Observer getter
+        *
+        * @return Observer
+        */
+        virtual MCatalogsHttpObserver* Observer() const = 0;
+        
+        
+        /**
+        * Sets the HTTP method
+        * @param aMethod HTTP method
+        */
+        virtual void SetHttpMethod( TCatalogsHttpMethod aMethod ) = 0;
+        
+        
+        /**
+        * Gets the HTTP method
+        * @return HTTP method
+        */
+        virtual TCatalogsHttpMethod HttpMethod() const = 0;
+        
+        
+        /**
+         * Externalizes config to a stream
+         *
+         * @param aStream Target stream
+         */
+        virtual void ExternalizeL( RWriteStream& aStream ) const = 0;        
+        
+        
+        /**
+         * Internalizes config from a stream
+         *
+         * @param aStream Source stream
+         */
+        virtual void InternalizeL( RReadStream& aStream ) = 0;  
+        
+        /**
+         * Options getter
+         */
+        virtual TUint32 Options() const = 0;
+        
+        /**
+         * Options setter
+         */
+        virtual void SetOptions( TUint32 aOptions ) = 0;
+
+        
+    protected:
+    
+        /** 
+        * Hiding the destructor from the user prevents deleting the 
+        * implementing object through this interface
+        */
+        virtual ~MCatalogsHttpConfig() 
+            {
+            }
+    };
+
+
+#endif //  M_CATALOGSHTTPCONFIG_H