activityfw/storage/client/t_afstorageclient/inc/t_activityclient.h
author Jaakko Haukipuro (Nokia-MS/Oulu) <Jaakko.Haukipuro@nokia.com>
Thu, 16 Sep 2010 12:11:40 +0100
changeset 117 c63ee96dbe5f
permissions -rw-r--r--
Missing activityfw and taskswitcher components - fix for Bug 3670

/*
* 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:  Test class for taskswitcher::TaskSwitcher
*
*/


#include <QtTest/QtTest>
#include "afasyncrequestobserver.h"
#include "afasyncsession.h"

class CFbsBitmap;

/**
* @test Test class
*/
class T_ActivityClient : public QObject,
                         public MAfAsyncSession,
                         public MAfAsyncRequestObserver
{
    Q_OBJECT
public:
    T_ActivityClient();
    ~T_ActivityClient();

public: //MAfAsyncRequestObserver
    void waitActivityRequestCompleted(int result,
                                      const TDesC8 &data);
    
    void getThumbnailRequestCompleted(int result,
                                      int bitmapHandle, 
                                      void* userData);
    
    void dataChangeNotificationCompleted(int result);

public: //MAfAsyncSession
    void PushL(CBase* asyncTask);
    void Pop(CBase* asyncTask);
    void executeL(int function);
    void sendAsync(int function, const TIpcArgs &args, TRequestStatus& status);
    void getDataL(int id, TDes8& buffer);
    
private slots:
    void initTestCase();
    void cleanupTestCase();

    void testEntry();
    void testAsyncRequest();
    void testCreateClient();
    void testAddActivity();
    void testUpdateActivity();
    void testSaveActivity();
    void testRemoveActivity();
    void testRemoveApplicationActivities();
    void testActivities();
    void testApplicationActivities();
    void testGetData();
    void testWaitLaunchActivity();
    void testGetThumbnail();

private:
    CFbsBitmap *mBitmap;

    HBufC *mData;
    
    TInt mScreenshotHandle;
    CFbsBitmap *mScreenshot;
    
    CBase *mRunningTask;
    void *mUserData;
    int mExpectedResponse;
    int mRealResponse;
    QEventLoop mLoop;
    
};