cbs/cbsserver/ServerInc/CCbsObject.h
author hgs
Tue, 10 Aug 2010 13:19:41 +0300
changeset 38 bc103bfb69cf
parent 33 8d5d7fcf9b59
permissions -rw-r--r--
201031_02
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
33
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* Copyright (c) 2003 Nokia Corporation and/or its subsidiary(-ies). 
hgs
parents:
diff changeset
     3
* All rights reserved.
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents:
diff changeset
     8
*
hgs
parents:
diff changeset
     9
* Initial Contributors:
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
hgs
parents:
diff changeset
    11
*
hgs
parents:
diff changeset
    12
* Contributors:
hgs
parents:
diff changeset
    13
*
hgs
parents:
diff changeset
    14
* Description:  This class represents the base class for all server-side subsession
hgs
parents:
diff changeset
    15
*                classes.
hgs
parents:
diff changeset
    16
*
hgs
parents:
diff changeset
    17
*/
hgs
parents:
diff changeset
    18
hgs
parents:
diff changeset
    19
hgs
parents:
diff changeset
    20
#ifndef     CCBSOBJECT_H
hgs
parents:
diff changeset
    21
#define     CCBSOBJECT_H
hgs
parents:
diff changeset
    22
hgs
parents:
diff changeset
    23
//  INCLUDES
hgs
parents:
diff changeset
    24
hgs
parents:
diff changeset
    25
#include <e32base.h>
hgs
parents:
diff changeset
    26
#include "CbsCommon.h"
hgs
parents:
diff changeset
    27
hgs
parents:
diff changeset
    28
//  FORWARD DECLARATIONS
hgs
parents:
diff changeset
    29
class CCbsSession;
hgs
parents:
diff changeset
    30
hgs
parents:
diff changeset
    31
//  CLASS DECLARATION 
hgs
parents:
diff changeset
    32
hgs
parents:
diff changeset
    33
/**
hgs
parents:
diff changeset
    34
*   CCbsSession is the base class for the classes that represent
hgs
parents:
diff changeset
    35
*   server-side subsessions. 
hgs
parents:
diff changeset
    36
*
hgs
parents:
diff changeset
    37
*   It provides some convience functions is remove redundancy of
hgs
parents:
diff changeset
    38
*   subsession classes.
hgs
parents:
diff changeset
    39
*/
hgs
parents:
diff changeset
    40
class CCbsObject : public CObject
hgs
parents:
diff changeset
    41
    {
hgs
parents:
diff changeset
    42
    public:     // New functions
hgs
parents:
diff changeset
    43
        /**
hgs
parents:
diff changeset
    44
        *   Constructor.
hgs
parents:
diff changeset
    45
        *   
hgs
parents:
diff changeset
    46
        *   @param aSession                 Pointer to the session.
hgs
parents:
diff changeset
    47
        */  
hgs
parents:
diff changeset
    48
        CCbsObject( CCbsSession& aSession );
hgs
parents:
diff changeset
    49
hgs
parents:
diff changeset
    50
        /**
hgs
parents:
diff changeset
    51
        *   Destructor.
hgs
parents:
diff changeset
    52
        */
hgs
parents:
diff changeset
    53
        ~CCbsObject();
hgs
parents:
diff changeset
    54
hgs
parents:
diff changeset
    55
        /**
hgs
parents:
diff changeset
    56
        *   Handles the requests for the object.
hgs
parents:
diff changeset
    57
        *    
hgs
parents:
diff changeset
    58
        *   Implemented in subsession classes.
hgs
parents:
diff changeset
    59
        *
hgs
parents:
diff changeset
    60
        *   @param  aMessage            Request to be handled.
hgs
parents:
diff changeset
    61
        *   @return                     Boolean value indicating whether 
hgs
parents:
diff changeset
    62
        *                               the request was handled.
hgs
parents:
diff changeset
    63
        */
hgs
parents:
diff changeset
    64
        virtual TBool HandleRequestsL( const RMessage2& aMessage ) = 0;
hgs
parents:
diff changeset
    65
hgs
parents:
diff changeset
    66
        /**
hgs
parents:
diff changeset
    67
        *   Returns the message of current client request.
hgs
parents:
diff changeset
    68
        *
hgs
parents:
diff changeset
    69
        *   @return                     The message object of the current
hgs
parents:
diff changeset
    70
        *                               client request.
hgs
parents:
diff changeset
    71
        */
hgs
parents:
diff changeset
    72
        const RMessage2& Message();
hgs
parents:
diff changeset
    73
hgs
parents:
diff changeset
    74
        /** 
hgs
parents:
diff changeset
    75
        *   Returns a reference to the session.
hgs
parents:
diff changeset
    76
        *
hgs
parents:
diff changeset
    77
        *   @return                     Main session object.
hgs
parents:
diff changeset
    78
        */
hgs
parents:
diff changeset
    79
        CCbsSession& Session();
hgs
parents:
diff changeset
    80
hgs
parents:
diff changeset
    81
        /**
hgs
parents:
diff changeset
    82
        *   Panics the client.
hgs
parents:
diff changeset
    83
        *
hgs
parents:
diff changeset
    84
        *   @param aPanic                Reason for panic.
hgs
parents:
diff changeset
    85
        */
hgs
parents:
diff changeset
    86
        void PanicClient( TCbsSessionPanic aPanic ) const;
hgs
parents:
diff changeset
    87
hgs
parents:
diff changeset
    88
    private:    // Data
hgs
parents:
diff changeset
    89
hgs
parents:
diff changeset
    90
        // The session to which this object belongs.
hgs
parents:
diff changeset
    91
        CCbsSession& iSession;
hgs
parents:
diff changeset
    92
hgs
parents:
diff changeset
    93
    };
hgs
parents:
diff changeset
    94
hgs
parents:
diff changeset
    95
#endif      //  CCBSOBJECT_H   
hgs
parents:
diff changeset
    96
            
hgs
parents:
diff changeset
    97
// End of File
hgs
parents:
diff changeset
    98
hgs
parents:
diff changeset
    99