supl/locationsuplfw/gateway/inc/epos_csuplsessionretryq.h
author hgs
Fri, 06 Aug 2010 19:34:22 +0530
changeset 39 3efc7a0e8755
permissions -rw-r--r--
201031
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
39
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* ==============================================================================
hgs
parents:
diff changeset
     3
*  Name        : epos_csuplsessionretryq.h
hgs
parents:
diff changeset
     4
*  Part of     : SUPL Framework / SUPL Server
hgs
parents:
diff changeset
     5
*  Interface   : --
hgs
parents:
diff changeset
     6
*  Description : Class to handle retries of failed requests. It waits for all the current sessions to end and then
hgs
parents:
diff changeset
     7
*  				 notifies the failed sessions that they can retry.
hgs
parents:
diff changeset
     8
*  Version     :
hgs
parents:
diff changeset
     9
*
hgs
parents:
diff changeset
    10
*  Copyright (c) 2010 Nokia Corporation.
hgs
parents:
diff changeset
    11
*  This material, including documentation and any related
hgs
parents:
diff changeset
    12
*  computer programs, is protected by copyright controlled by
hgs
parents:
diff changeset
    13
*  Nokia Corporation. All rights are reserved. Copying,
hgs
parents:
diff changeset
    14
*  including reproducing, storing, adapting or translating, any
hgs
parents:
diff changeset
    15
*  or all of this material requires the prior written consent of
hgs
parents:
diff changeset
    16
*  Nokia Corporation. This material also contains confidential
hgs
parents:
diff changeset
    17
*  information which may not be disclosed to others without the
hgs
parents:
diff changeset
    18
*  prior written consent of Nokia Corporation.
hgs
parents:
diff changeset
    19
* ==============================================================================
hgs
parents:
diff changeset
    20
*/
hgs
parents:
diff changeset
    21
hgs
parents:
diff changeset
    22
#ifndef EPOS_CSUPLSESSIONRETRYQ_H
hgs
parents:
diff changeset
    23
#define EPOS_CSUPLSESSIONRETRYQ_H
hgs
parents:
diff changeset
    24
hgs
parents:
diff changeset
    25
// INCLUDES
hgs
parents:
diff changeset
    26
#include <e32base.h>
hgs
parents:
diff changeset
    27
hgs
parents:
diff changeset
    28
// CLASS DECLARATION
hgs
parents:
diff changeset
    29
class CSuplSessionRequest;
hgs
parents:
diff changeset
    30
hgs
parents:
diff changeset
    31
/**
hgs
parents:
diff changeset
    32
 * Class to handle retries of failed requests. It waits for all the current sessions to end and then
hgs
parents:
diff changeset
    33
 *		 notifies the failed sessions that they can retry.
hgs
parents:
diff changeset
    34
 */
hgs
parents:
diff changeset
    35
class CSuplSessionRetryQ : public CTimer
hgs
parents:
diff changeset
    36
    {
hgs
parents:
diff changeset
    37
    public:
hgs
parents:
diff changeset
    38
        static CSuplSessionRetryQ* NewL();
hgs
parents:
diff changeset
    39
		~CSuplSessionRetryQ();
hgs
parents:
diff changeset
    40
hgs
parents:
diff changeset
    41
        void AddToQueueL(CSuplSessionRequest& aSessionRequest);
hgs
parents:
diff changeset
    42
        void RemoveFromQueueL(CSuplSessionRequest& aSessionRequest);
hgs
parents:
diff changeset
    43
		void SessionStarted();
hgs
parents:
diff changeset
    44
		void SessionEnded();
hgs
parents:
diff changeset
    45
hgs
parents:
diff changeset
    46
    private:
hgs
parents:
diff changeset
    47
		CSuplSessionRetryQ();
hgs
parents:
diff changeset
    48
        void ConstructL();
hgs
parents:
diff changeset
    49
hgs
parents:
diff changeset
    50
        // By default, prohibit copy constructor
hgs
parents:
diff changeset
    51
        CSuplSessionRetryQ( const CSuplSessionRetryQ& );
hgs
parents:
diff changeset
    52
        // Prohibit assigment operator
hgs
parents:
diff changeset
    53
        CSuplSessionRetryQ& operator= ( const CSuplSessionRetryQ& );
hgs
parents:
diff changeset
    54
hgs
parents:
diff changeset
    55
    protected:  // Functions from base classes
hgs
parents:
diff changeset
    56
hgs
parents:
diff changeset
    57
        /**
hgs
parents:
diff changeset
    58
        * From CActive.
hgs
parents:
diff changeset
    59
        * Called when timer completes
hgs
parents:
diff changeset
    60
        */
hgs
parents:
diff changeset
    61
        void RunL();
hgs
parents:
diff changeset
    62
hgs
parents:
diff changeset
    63
    private:    // Data
hgs
parents:
diff changeset
    64
		RPointerArray<CSuplSessionRequest> iSessionRequests;
hgs
parents:
diff changeset
    65
		TInt iSessionCount;
hgs
parents:
diff changeset
    66
		TBool iSomeSessionEnded;
hgs
parents:
diff changeset
    67
		TTime iTimeOfLastEndedSession;
hgs
parents:
diff changeset
    68
    };
hgs
parents:
diff changeset
    69
hgs
parents:
diff changeset
    70
#endif // EPOS_CSUPLSESSIONRETRYQ_H
hgs
parents:
diff changeset
    71
hgs
parents:
diff changeset
    72
// End of File