presetserver/serverinc/pssession.h
author Pat Downey <patd@symbian.org>
Wed, 23 Jun 2010 16:21:12 +0100
changeset 10 9b7c1f7fc4a6
parent 0 09774dfdd46b
permissions -rw-r--r--
Re-merge docml files.

/*
* Copyright (c) 2006-2006 Nokia Corporation and/or its subsidiary(-ies). 
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0"
* which accompanies this distribution, and is available
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
*
* Initial Contributors:
* Nokia Corporation - initial contribution.
*
* Contributors:
*
* Description:  Defines a session with the preset server
*
*/


#ifndef C_CPSSESSION_H
#define C_CPSSESSION_H

#include <e32base.h>

class CPSServer;

/**
 * Defines a session with the preset server, as per client-server architecture.
 */
NONSHARABLE_CLASS( CPSSession ) : public CSession2
    {

public:

    /**
     * Two-phased constructor.
     */
    static CPSSession* NewL( CPSServer& aServer );

    /**
     * Destructor.
     */
    ~CPSSession();

// from base class CSession2

    /**
     * @see CSession2::ServiceL( const RMessage2& aMessage )
     */
    void ServiceL( const RMessage2& aMessage );

    /**
     * @see CSession2::Disconnect( const RMessage2& aMessage )
     */
    void Disconnect( const RMessage2 &aMessage);
    
private:

    /**
     * Constructor.
     */
    CPSSession( CPSServer& aServer );

    /**
     * Second-phase constructor.
     */
    void ConstructL();

    /**
     * Handles all service commands from the client. @see TPSOpCode.
     *
     * @param   aMessage    The IPC message.
     * @return  <code>ETrue</code> if the message was handled and can be completed, <code>EFalse</code> otherwise.
     */
    TBool DoServiceL( const RMessage2& aMessage );

    /**
     * Handles EPSOpCreatePreset.
     *
     * @param   aMessage    The IPC message.
     */
    void CreatePresetL( const RMessage2& aMessage );

    /**
     * Handles EPSOpDeletePreset.
     *
     * @param   aMessage    The IPC message.
     */
    void DeletePresetL( const RMessage2& aMessage );

    /**
     * Handles EPSOpStartTransaction.
     *
     * @param   aMessage    The IPC message.
     */
    void StartTransactionL( const RMessage2& aMessage );

    /**
     * Handles EPSOpCommitTransaction.
     *
     * @param   aMessage    The IPC message.
     */
    void CommitTransactionL( const RMessage2& aMessage );

    /**
     * Handles EPSOpRollbackTransaction.
     *
     * @param   aMessage    The IPC message.
     */
    void RollbackTransaction( const RMessage2& aMessage );

    /**
     * Handles EPSOpMovePreset.
     *
     * @param   aMessage    The IPC message.
     */
    void MovePresetL( const RMessage2& aMessage );

    /**
     * Handles EPSOpNotify.
     *
     * @param   aMessage    The IPC message.
     */
    void NotifyPresetChangeL( const RMessage2& aMessage );

    /**
     * Handles EPSOpCancelNotify.
     *
     * @param   aMessage    The IPC message.
     */
    void CancelNotifyPresetChange( const RMessage2& aMessage );

    /**
     * Handles EPSOpSetPresetName.
     *
     * @param   aMessage    The IPC message.
     */
    void SetPresetNameL( const RMessage2& aMessage );

    /**
     * Handles EPSOpSetPresetIndex.
     *
     * @param   aMessage    The IPC message.
     */
    void SetPresetIndexL( const RMessage2& aMessage );

    /**
     * Handles EPSOpSetPresetData.
     *
     * @param   aMessage    The IPC message.
     */
    void SetPresetDataL( const RMessage2& aMessage );

    /**
     * Handles EPSOpGetPresetName.
     *
     * @param   aMessage    The IPC message.
     */
    void GetPresetNameL( const RMessage2& aMessage );

    /**
     * Handles EPSOpGetPresetNameLength.
     *
     * @param   aMessage    The IPC message.
     */
    void GetPresetNameLengthL( const RMessage2& aMessage );

    /**
     * Handles EPSOpGetPresetIndex.
     *
     * @param   aMessage    The IPC message.
     */
    void GetPresetIndexL( const RMessage2& aMessage );

    /**
     * Handles EPSOpGetPresetDataHandler.
     *
     * @param   aMessage    The IPC message.
     */
    void GetPresetDataHandlerL( const RMessage2& aMessage );

    /**
     * Handles EPSOpGetPresetData.
     *
     * @param   aMessage    The IPC message.
     */
    void GetPresetDataL( const RMessage2& aMessage );

    /**
     * Handles EPSOpGetPresetDataLength.
     *
     * @param   aMessage    The IPC message.
     */
    void GetPresetDataLengthL( const RMessage2& aMessage );

    /**
     * Handles EPSOpGetPresets.
     *
     * @param   aMessage    The IPC message.
     */
    void GetPresetsL( const RMessage2& aMessage );

    /**
     * Handles EPSOpGetPresetsLength.
     *
     * @param   aMessage    The IPC message.
     */
    void GetPresetsLengthL( const RMessage2& aMessage );

private:

    /** The preset server. */
    CPSServer& iPresetServer;

    };

#endif // C_CPSSESSION_H