messagingfw/alwaysonline/AlwaysOnlineManager/inc/AlwaysOnlineManagerDiskSpaceObserver.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Fri, 17 Sep 2010 08:33:04 +0300
changeset 51 58d624870d25
parent 22 bde600d88860
child 35 f8ad95794a08
permissions -rw-r--r--
Revision: 201035 Kit: 201037
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
22
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
     1
/*
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
     2
* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
     3
* All rights reserved.
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
     4
* This component and the accompanying materials are made available
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
     6
* which accompanies this distribution, and is available
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
     8
*
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
     9
* Initial Contributors:
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    11
*
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    12
* Contributors:
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    13
*
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    14
* Description: 
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    15
*     CAlwaysOnlineDiskSpaceObserver declaration file
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    16
*
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    17
*
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    18
*/
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    19
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    20
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    21
#ifndef ALWAYSONLINEDISKSPACEOBSERVER_H
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    22
#define ALWAYSONLINEDISKSPACEOBSERVER_H
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    23
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    24
//  INCLUDES
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    25
#include <e32base.h>
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    26
#include <f32file.h>
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    27
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    28
// FORWARD DECLARATIONS
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    29
class CAlwaysOnlineManager;
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    30
class CMsvSession;
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    31
// CLASS DECLARATION
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    32
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    33
/**
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    34
* CAlwaysOnlineDiskSpaceObserver
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    35
*/
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    36
class CAlwaysOnlineDiskSpaceObserver : public CActive
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    37
    {
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    38
    public:  // Constructors and destructor
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    39
        
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    40
        /**
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    41
        * Two-phased constructor.
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    42
        *
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    43
        * @param aManager A pointer to CAlwaysOnlineManager
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    44
        * @param aFs A reference to file session
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    45
        */
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    46
        static CAlwaysOnlineDiskSpaceObserver* NewL( CAlwaysOnlineManager* aManager, 
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    47
        											CMsvSession& aSession );
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    48
        
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    49
        /**
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    50
        * Destructor.
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    51
        */
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    52
        virtual ~CAlwaysOnlineDiskSpaceObserver();
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    53
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    54
    public: // New functions
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    55
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    56
        /**
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    57
        *
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    58
        * @param aLimit The trigger limit in bytes
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    59
        */
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    60
        void SetLimitAndActivateL();
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    61
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    62
    private:
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    63
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    64
        /**
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    65
        * Private C++ constructor.
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    66
        *
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    67
        * @param aManager A pointer to CAlwaysOnlineManager
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    68
        * @param aFs A reference to file session
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    69
        */
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    70
        CAlwaysOnlineDiskSpaceObserver( CAlwaysOnlineManager* aManager, CMsvSession& aSession );
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    71
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    72
    private:
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    73
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    74
        /**
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    75
        * From CActive
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    76
        */
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    77
        void RunL();
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    78
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    79
        /**
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    80
        * From CActive
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    81
        */
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    82
        void DoCancel();
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    83
        
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    84
        /**
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    85
		* Function to handle error during running the operation
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    86
		* @since Series60 2.6
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    87
		* @return KErrNone, when error has been handled
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    88
		*/
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    89
		virtual TInt RunError( TInt aError );
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    90
		
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    91
    private: // New Functions
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    92
    
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    93
        /**
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    94
        * Updates current disk limit
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    95
        * @since Series60 3.0
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    96
        */
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    97
        void HandleLimitChange();
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    98
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    99
    private: // Data
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   100
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   101
        CAlwaysOnlineManager*   iWatcher;
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   102
        CAlwaysOnlineManager&   iManager;
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   103
        CMsvSession&            iSession;
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   104
        TUint                   iNewLimit;
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   105
        TUint                   iCurrentLimit;
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   106
        
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   107
    };
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   108
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   109
#endif      // 
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   110
            
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   111
// End of File