sdkcreationmw/sdkruntimes/FileLoader/inc/W32FileConnection.h
author Shabe Razvi <shaber@symbian.org>
Thu, 04 Nov 2010 17:22:05 +0000
changeset 4 b3b823debf08
parent 0 b26acd06ea60
permissions -rw-r--r--
Workaround for Bug 3917 - CWinsockInterface::DataSent calls NotifyDataSent which is not implemented.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
     1
/*
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
     2
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
     3
* All rights reserved.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
     4
* This component and the accompanying materials are made available
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
     6
* which accompanies this distribution, and is available
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
     8
*
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
     9
* Initial Contributors:
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    11
*
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    12
* Contributors:
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    13
*
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    14
* Description:
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    15
*
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    16
*/
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    17
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    18
#ifndef __W32FILECONNECTION_H__
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    19
#define __W32FILECONNECTION_H_
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    20
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    21
#include <e32base.h>
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    22
#include "UrlConnection.h"
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    23
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    24
class CW32FileReader;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    25
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    26
class CW32FileConnection : public MUrlConnection
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    27
{
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    28
public:
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    29
    /**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    30
    */
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    31
    CW32FileConnection(WebCore::ResourceHandle* _handle);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    32
    /**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    33
    */
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    34
    virtual ~CW32FileConnection();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    35
    /**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    36
    */
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    37
    virtual int submit();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    38
    /**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    39
    */
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    40
    virtual void cancel();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    41
    /**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    42
    */
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    43
    virtual void download(WebCore::ResourceHandle* handle, const WebCore::ResourceRequest& request, const WebCore::ResourceResponse& response);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    44
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    45
    virtual int totalContentSize() { return m_maxSize; }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    46
    /**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    47
    */
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    48
    void response();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    49
    /**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    50
    */
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    51
    void complete(int error);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    52
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    53
private:
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    54
    /**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    55
    */
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    56
    TInt submitL();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    57
    /**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    58
    */
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    59
    void responseL();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    60
    /**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    61
    */
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    62
    HBufC* parseFileNameL(const TDesC8& aUrl );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    63
    /**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    64
    * Determine the content type of the file.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    65
    */
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    66
    HBufC8* contentTypeL();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    67
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    68
    /**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    69
    * Determine the content encoding of the file.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    70
    */
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    71
    TPtrC8 contentEncoding(const TDesC8& aContentTypeString ) const;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    72
private:
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    73
    HBufC* m_fileName;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    74
    int m_maxSize;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    75
    CW32FileReader* m_fileReader;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    76
    int m_chunkIndex;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    77
	HBufC* m_charset;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    78
	HBufC* m_contentType;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    79
};
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    80
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    81
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    82
#endif // __W32FileConnection_H__
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    83
// end of file