| author | Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> | 
| Fri, 12 Mar 2010 15:48:51 +0200 | |
| branch | RCL_3 | 
| changeset 34 | 220a17280356 | 
| parent 26 | cb62a4f66ebe | 
| child 48 | 79859ed3eea9 | 
| permissions | -rw-r--r-- | 
| 10 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 1 | /* | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 2 | * Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 3 | * All rights reserved. | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 4 | * This component and the accompanying materials are made available | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 5 | * under the terms of the License "Eclipse Public License v1.0" | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 6 | * which accompanies this distribution, and is available | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 7 | * at the URL "http://www.eclipse.org/legal/epl-v10.html". | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 8 | * | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 9 | * Initial Contributors: | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 10 | * Nokia Corporation - initial contribution. | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 11 | * | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 12 | * Contributors: | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 13 | * | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 14 | * Description: Implementation of CHttpCacheFileWriteHandler | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 15 | * | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 16 | */ | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 17 | |
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 18 | #ifndef CHTTPCACHEFILEWRITEHANDLER_H | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 19 | #define CHTTPCACHEFILEWRITEHANDLER_H | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 20 | |
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 21 | // INCLUDES | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 22 | #include <e32base.h> | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 23 | #include <f32file.h> | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 24 | #include "HttpCacheHandler.h" | 
| 11 
c8a366e56285
Revision: 200937
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: 
10diff
changeset | 25 | #include "HttpCacheEntry.h" | 
| 26 
cb62a4f66ebe
Revision: 200951
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: 
11diff
changeset | 26 | #include <MemoryManager.h> | 
| 10 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 27 | |
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 28 | // CONSTANTS | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 29 | |
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 30 | // MACROS | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 31 | |
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 32 | // DATA TYPES | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 33 | |
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 34 | // FUNCTION PROTOTYPES | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 35 | class CAsyncFileWriter; | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 36 | class CHttpCacheWriteTimeout; | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 37 | |
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 38 | // FORWARD DECLARATIONS | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 39 | |
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 40 | // CLASS DECLARATION | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 41 | |
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 42 | /** | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 43 | * | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 44 | * @lib | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 45 | * @since 5.0 | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 46 | */ | 
| 11 
c8a366e56285
Revision: 200937
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: 
10diff
changeset | 47 | NONSHARABLE_CLASS(CHttpCacheFileWriteHandler) : public CActive, public MMemoryCollector, public MHttpCacheEntryDeleteObserver | 
| 10 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 48 |     {
 | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 49 | public: // Constructors and destructor | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 50 | |
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 51 | /** | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 52 | * Two-phased constructor. | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 53 | * @since 5.0 | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 54 | * @param | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 55 | * @param | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 56 | * @return CacheFileWriteHandler object. | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 57 | */ | 
| 11 
c8a366e56285
Revision: 200937
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: 
10diff
changeset | 58 | static CHttpCacheFileWriteHandler* NewL(CHttpCacheHandler* aManager, CHttpCacheStreamHandler* aStreamHandler, RFs& aRfs, const THttpCachePostponeParameters& aParams); | 
| 10 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 59 | |
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 60 | /** | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 61 | * Destructor. | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 62 | */ | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 63 | virtual ~CHttpCacheFileWriteHandler(); | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 64 | |
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 65 | public: // From MMemoryCollector | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 66 | /** | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 67 | * Collect free memory, this function is called when allocation from | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 68 | * System heap fails | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 69 | * @since 3.1 | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 70 | * @param amount of memory needs to be collected | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 71 | * @return amount of memory collected | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 72 | */ | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 73 | virtual TUint Collect(TUint aRequired); | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 74 | |
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 75 | /** | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 76 | * restore the entity controlled memory collector when there is enough memory | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 77 | * System heap fails | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 78 | * @since 3.1 | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 79 | * @param | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 80 | * @return | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 81 | */ | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 82 | virtual void Restore(); | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 83 | |
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 84 | /** | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 85 | * Priority of this collector, 0 - lowest, 10 - highest; | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 86 | * the lower the priority, the earlier this collector is executed. | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 87 | * @since 3.1 | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 88 | * @param | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 89 | * @return | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 90 | */ | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 91 | virtual TOOMPriority Priority(); | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 92 | |
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 93 | /** | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 94 | * | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 95 | * @since 7.1 | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 96 | * @param | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 97 | * @return | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 98 | */ | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 99 | TBool IsCacheEntryPostponed(const CHttpCacheEntry* aEntry); | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 100 | |
| 11 
c8a366e56285
Revision: 200937
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: 
10diff
changeset | 101 | public: // from MHttpCacheEntryDeleteObserver | 
| 
c8a366e56285
Revision: 200937
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: 
10diff
changeset | 102 | virtual void EntryDeleted(CHttpCacheEntry *aEntry); | 
| 
c8a366e56285
Revision: 200937
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: 
10diff
changeset | 103 | |
| 
c8a366e56285
Revision: 200937
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: 
10diff
changeset | 104 | |
| 10 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 105 | public: // new functions | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 106 |         enum TAddStatus {
 | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 107 | EAddedOk, | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 108 | EBodySmallerThanThreshold, | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 109 | ENotEnoughFreeMemory, | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 110 | ECheckReturn | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 111 | }; | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 112 | |
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 113 | /** | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 114 | * Add a cache entry to write out when possible | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 115 | * | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 116 | */ | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 117 | TInt AddEntry(TAddStatus& aAddStatus, CHttpCacheEntry *aEntry); | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 118 | |
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 119 | /** | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 120 | * Remove a stream entry from the list | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 121 | */ | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 122 | CHttpCacheEntry* RemoveEntry(CHttpCacheEntry *aEntry); | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 123 | |
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 124 | /** | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 125 | * Remove all stream entries from the list | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 126 | */ | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 127 | void RemoveAll(); | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 128 | |
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 129 | /** | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 130 | * Emergency method if memory is short - write everything | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 131 | * to disk *now* and wait for it. Or maybe just dump it all | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 132 | * and delete the headers... | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 133 | */ | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 134 | void DumpAllObjects(); | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 135 | |
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 136 | /** | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 137 | * Signal called by the timer callback to indicate that we | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 138 | * should begin writing out the cached data. | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 139 | */ | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 140 | void BeginWriting(); | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 141 | |
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 142 | private: | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 143 | |
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 144 | /** | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 145 | * Construct. | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 146 | * @since 5.0 | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 147 | * @param | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 148 | * @param | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 149 | * @return CacheFileWriteHandler object. | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 150 | */ | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 151 | CHttpCacheFileWriteHandler(CHttpCacheHandler* aHandler, CHttpCacheStreamHandler* aStreamHandler, RFs& aRfs); | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 152 | |
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 153 | /** | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 154 | * By default Symbian 2nd phase constructor is private. | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 155 | */ | 
| 11 
c8a366e56285
Revision: 200937
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: 
10diff
changeset | 156 | void ConstructL(const THttpCachePostponeParameters& aParams); | 
| 10 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 157 | |
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 158 | /** | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 159 | * from CActive | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 160 | */ | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 161 | void DoCancel(); | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 162 | |
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 163 | /** | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 164 | * from CActive | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 165 | */ | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 166 | void RunL(); | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 167 | |
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 168 | void ContinueFlushing(); | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 169 | |
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 170 | void OutputQueueContentToDebug(); | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 171 | |
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 172 | // sort by size function for arrays of CHttpCacheEntry objects. | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 173 | static TInt CompareHttpCacheEntrySize( const CHttpCacheEntry& aFirst, const CHttpCacheEntry& aSecond ); | 
| 11 
c8a366e56285
Revision: 200937
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: 
10diff
changeset | 174 | |
| 10 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 175 | void CollectMemory( TUint aRequired ); | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 176 | |
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 177 | /** | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 178 | * Callback function for timer to activate writing. | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 179 | */ | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 180 | static TInt WriteTimeout(TAny* aParam); | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 181 | |
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 182 | private: // Data | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 183 | CHttpCacheHandler* iCacheHandler; | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 184 | CHttpCacheStreamHandler* iCacheStreamHandler; | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 185 | TInt iFreeRamThreshold; | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 186 | TInt iImmediateWriteThreshold; | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 187 | TBool iLowMemoryState; | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 188 | RFs iFs; | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 189 | CHttpCacheWriteTimeout* iWaitTimer; | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 190 | // objects in this array are not owned. | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 191 | RPointerArray<CHttpCacheEntry> iObjectQueue; | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 192 | // contains a pointer to the object that flush was called for | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 193 | CHttpCacheEntry* iObjectFlushing; | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 194 | }; | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 195 | |
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 196 | #endif // CHttpCacheFileWriteHandler_H | 
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 197 | |
| 
a359256acfc6
Revision: 200929
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 198 | // End of File |