bearermanagement/mpm/inc/mpmscheduler.h
author hgs
Wed, 27 Oct 2010 17:51:11 +0300
changeset 71 9f263f780e41
permissions -rw-r--r--
201039_1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
71
9f263f780e41 201039_1
hgs
parents:
diff changeset
     1
/*
9f263f780e41 201039_1
hgs
parents:
diff changeset
     2
* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
9f263f780e41 201039_1
hgs
parents:
diff changeset
     3
* All rights reserved.
9f263f780e41 201039_1
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
9f263f780e41 201039_1
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
9f263f780e41 201039_1
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
9f263f780e41 201039_1
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
9f263f780e41 201039_1
hgs
parents:
diff changeset
     8
*
9f263f780e41 201039_1
hgs
parents:
diff changeset
     9
* Initial Contributors:
9f263f780e41 201039_1
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
9f263f780e41 201039_1
hgs
parents:
diff changeset
    11
*
9f263f780e41 201039_1
hgs
parents:
diff changeset
    12
* Contributors:
9f263f780e41 201039_1
hgs
parents:
diff changeset
    13
*
9f263f780e41 201039_1
hgs
parents:
diff changeset
    14
* Description: Active scheduler for MPM server.
9f263f780e41 201039_1
hgs
parents:
diff changeset
    15
*
9f263f780e41 201039_1
hgs
parents:
diff changeset
    16
*/
9f263f780e41 201039_1
hgs
parents:
diff changeset
    17
9f263f780e41 201039_1
hgs
parents:
diff changeset
    18
#ifndef MPMSCHEDULER_H
9f263f780e41 201039_1
hgs
parents:
diff changeset
    19
#define MPMSCHEDULER_H
9f263f780e41 201039_1
hgs
parents:
diff changeset
    20
9f263f780e41 201039_1
hgs
parents:
diff changeset
    21
#include <e32base.h>
9f263f780e41 201039_1
hgs
parents:
diff changeset
    22
9f263f780e41 201039_1
hgs
parents:
diff changeset
    23
/**
9f263f780e41 201039_1
hgs
parents:
diff changeset
    24
 * Mobility Policy Manager active scheduler. Required to override the default
9f263f780e41 201039_1
hgs
parents:
diff changeset
    25
 * error handling from CActiveScheduler.
9f263f780e41 201039_1
hgs
parents:
diff changeset
    26
 */
9f263f780e41 201039_1
hgs
parents:
diff changeset
    27
NONSHARABLE_CLASS( CMpmScheduler ) : public CActiveScheduler
9f263f780e41 201039_1
hgs
parents:
diff changeset
    28
    {
9f263f780e41 201039_1
hgs
parents:
diff changeset
    29
public:
9f263f780e41 201039_1
hgs
parents:
diff changeset
    30
    /**
9f263f780e41 201039_1
hgs
parents:
diff changeset
    31
     * NewL.
9f263f780e41 201039_1
hgs
parents:
diff changeset
    32
     */
9f263f780e41 201039_1
hgs
parents:
diff changeset
    33
    static CMpmScheduler* NewL();
9f263f780e41 201039_1
hgs
parents:
diff changeset
    34
9f263f780e41 201039_1
hgs
parents:
diff changeset
    35
    /**
9f263f780e41 201039_1
hgs
parents:
diff changeset
    36
     * NewLC.
9f263f780e41 201039_1
hgs
parents:
diff changeset
    37
     */
9f263f780e41 201039_1
hgs
parents:
diff changeset
    38
    static CMpmScheduler* NewLC();
9f263f780e41 201039_1
hgs
parents:
diff changeset
    39
9f263f780e41 201039_1
hgs
parents:
diff changeset
    40
    /**
9f263f780e41 201039_1
hgs
parents:
diff changeset
    41
     * Destructor.
9f263f780e41 201039_1
hgs
parents:
diff changeset
    42
     */
9f263f780e41 201039_1
hgs
parents:
diff changeset
    43
    virtual ~CMpmScheduler();
9f263f780e41 201039_1
hgs
parents:
diff changeset
    44
9f263f780e41 201039_1
hgs
parents:
diff changeset
    45
private:
9f263f780e41 201039_1
hgs
parents:
diff changeset
    46
    /**
9f263f780e41 201039_1
hgs
parents:
diff changeset
    47
     * Constructor.
9f263f780e41 201039_1
hgs
parents:
diff changeset
    48
     */
9f263f780e41 201039_1
hgs
parents:
diff changeset
    49
    CMpmScheduler();
9f263f780e41 201039_1
hgs
parents:
diff changeset
    50
9f263f780e41 201039_1
hgs
parents:
diff changeset
    51
    /**
9f263f780e41 201039_1
hgs
parents:
diff changeset
    52
     * 2nd level constructor.
9f263f780e41 201039_1
hgs
parents:
diff changeset
    53
     */
9f263f780e41 201039_1
hgs
parents:
diff changeset
    54
    void ConstructL();
9f263f780e41 201039_1
hgs
parents:
diff changeset
    55
9f263f780e41 201039_1
hgs
parents:
diff changeset
    56
public:
9f263f780e41 201039_1
hgs
parents:
diff changeset
    57
    /**
9f263f780e41 201039_1
hgs
parents:
diff changeset
    58
     * Set the MPM server.
9f263f780e41 201039_1
hgs
parents:
diff changeset
    59
     * @param aMpmServer Pointer to the MPM server.
9f263f780e41 201039_1
hgs
parents:
diff changeset
    60
     */
9f263f780e41 201039_1
hgs
parents:
diff changeset
    61
    void SetMpmServer( CServer2* aMpmServer );
9f263f780e41 201039_1
hgs
parents:
diff changeset
    62
9f263f780e41 201039_1
hgs
parents:
diff changeset
    63
    /**
9f263f780e41 201039_1
hgs
parents:
diff changeset
    64
     * Error handling for the active scheduler.
9f263f780e41 201039_1
hgs
parents:
diff changeset
    65
     * Handles any leave occuring in an active object's RunL() function that
9f263f780e41 201039_1
hgs
parents:
diff changeset
    66
     * hasn't been properly handled in the active object's own RunError()
9f263f780e41 201039_1
hgs
parents:
diff changeset
    67
     * function.
9f263f780e41 201039_1
hgs
parents:
diff changeset
    68
     * @param aError Leave code from active object.
9f263f780e41 201039_1
hgs
parents:
diff changeset
    69
     */
9f263f780e41 201039_1
hgs
parents:
diff changeset
    70
    void Error( TInt aError ) const;
9f263f780e41 201039_1
hgs
parents:
diff changeset
    71
9f263f780e41 201039_1
hgs
parents:
diff changeset
    72
private:
9f263f780e41 201039_1
hgs
parents:
diff changeset
    73
    /**
9f263f780e41 201039_1
hgs
parents:
diff changeset
    74
     * Pointer to the MPM server.
9f263f780e41 201039_1
hgs
parents:
diff changeset
    75
     */
9f263f780e41 201039_1
hgs
parents:
diff changeset
    76
    CServer2* iMpmServer; // Not owned
9f263f780e41 201039_1
hgs
parents:
diff changeset
    77
    };
9f263f780e41 201039_1
hgs
parents:
diff changeset
    78
9f263f780e41 201039_1
hgs
parents:
diff changeset
    79
#endif // MPMSCHEDULER_H
9f263f780e41 201039_1
hgs
parents:
diff changeset
    80
9f263f780e41 201039_1
hgs
parents:
diff changeset
    81
// End of file