activityfw/activitydatabase/hsactivitydbserver/s60/inc/hsactivitysession_p.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Fri, 16 Apr 2010 15:16:09 +0300
changeset 61 8e5041d13c84
child 66 32469d7d46ff
permissions -rw-r--r--
Revision: 201011 Kit: 201015

/*
* Copyright (c) 2009 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:
*
*/

#ifndef ACTIVITYSESSIONPRIVATE_H
#define ACTIVITYSESSIONPRIVATE_H
#include <e32base.h>
#include "hsactivitydbclientinterface.h"
/**
 * Class impolements client session for S60 enviroment. 
 * Class is responsible for request handling and data translations
 */
class HsActivitySessionPrivate: public CSession2
{
public:
    /**
     * Constructor
     * @param storage - reference to initialized activity storage
     */
    HsActivitySessionPrivate(HsActivityDbClientInterface& storage);
    
    /**
     * Destructor
     */
    ~HsActivitySessionPrivate();
    
    /**
     * Implements interface
     * @see void CSession2::ServiceL(const RMessage2&)
     */
    void ServiceL(const RMessage2& message);
    
    /**
     * Implements interface
     * @see void CSession2::ServiceError(const RMessage2 &, TInt)
     */
    void ServiceError(const RMessage2 &message, TInt error);
    
    void LaunchActivityL(const RMessage2 &message, const QString &name );
    
    void CancelNotify(RMessage2& message);
private:
    /**
     * Function handle data translation and forward request to storage client
     * Function can leave on failure.
     * @param message - request message 
     */
    void HandleAddActivityL(const RMessage2& message);
    
    /**
     * Function handle data translation and forward request to storage client
     * Function can leave on failure.
     * @param message - request message 
     */
    void HandleUpdateActivityL(const RMessage2& message);
    
    /**
     * Function handle data translation and forward request to storage client
     * Function can leave on failure.
     * @param message - request message 
     */
    void HandleRemoveActivityL(const RMessage2& message);
    
    /**
     * Function handle data translation and forward request to storage client
     * Function can leave on failure.
     * @param message - request message 
     */
    void HandleRemoveApplicationActivitiesL(const RMessage2& message);
    
    /**
     * Function handle data translation and forward request to storage client
     * Function can leave on failure.
     * @param message - request message 
     */
    void HandleActivitiesL(const RMessage2& message);
    
    /**
     * Function handle data translation and forward request to storage client
     * Function can leave on failure.
     * @param message - request message 
     */
    void HandleApplicationActivitiesL(const RMessage2& message);
    
    /**
     * Function handle data translation and forward request to server
     * Function can leave on failure.
     * @param message - request message 
     */
    void HandleLaunchActivityL(const RMessage2& message);
    
    /**
     * Function handle data translation and forward request to server
     * Function can leave on failure.
     * @param message - request message 
     */
    void HandleWaitActivityL(const RMessage2& message);
    
    /**
	 * Function cancels subscribtion
	 * @param message - request message 
	 */
    void HandleCancelWaitActivity(const RMessage2& message);
    
    /**
     * Function handle data translation and forward request to storage client
     * Function can leave on failure.
     * @param message - request message 
     */
    void HandleGetDataL(const RMessage2& message);
    
    void LaunchActivityL();
    
    void WaitActivityL(const RMessage2& message);
    
    void CancelNotify();
        
    
    /**
     * Function deserialize data for request message
     * Function can leave on failure.
     */
    void ReadDataL(const RMessage2& src);
    
    /**
     * Function handle data translation and forward request to storage client
     * Function can leave on failure.
     * @param message - request message 
     */
    void LeaveIfNotZero(int errNo);
private:
    /**
     * Reference to storage client
     */
    HsActivityDbClientInterface& mStorage;
    RBuf8 mData;
    QVariantHash mActivity;
    QList<QVariantHash> mResult;
    QString mName;
    int mAppId;
};
#endif // ACTIVITYSESSIONPRIVATE_H