diff -r 5315654608de -r 08c6ee43b396 taskswitcher/contextengine/hgfswserver/utils/inc/hgfswentry.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/taskswitcher/contextengine/hgfswserver/utils/inc/hgfswentry.h Mon Jan 18 20:10:36 2010 +0200 @@ -0,0 +1,130 @@ +/* + * =========================================================================== + * Name : hgfswentry.h + * Part of : Huriganes / Fast Swap Server + * Description : Task list entry + * Version : %version: 7 % + * + * Copyright © 2008 Nokia Corporation. + * This material, including documentation and any related + * computer programs, is protected by copyright controlled by + * Nokia Corporation. All rights are reserved. Copying, + * including reproducing, storing, adapting or translating, any + * or all of this material requires the prior written consent of + * Nokia Corporation. This material also contains confidential + * information which may not be disclosed to others without the + * prior written consent of Nokia Corporation. + * =========================================================================== + */ + +#ifndef __HGFSWENTRY_H +#define __HGFSWENTRY_H + +#include +#include + +class CHgFswEntry; +class RReadStream; +class RWriteStream; + +typedef RPointerArray RHgFswArray; + +/** + * An entry in the task list. + */ +NONSHARABLE_CLASS( CHgFswEntry ) : public CBase + { +public: + IMPORT_C static CHgFswEntry* NewL(); + IMPORT_C static CHgFswEntry* NewLC(); + ~CHgFswEntry(); + + /** + * Window group id. + * In case of wrt widgets this is negative and is not a valid window group id. + * Use this when calling CloseApp or SwitchToApp. (these work with widgets too) + */ + IMPORT_C TInt WgId() const; + + /** + * Application uid. + */ + IMPORT_C TUid AppUid() const; + + /** + * Application name. + */ + IMPORT_C const TDesC& AppName() const; + + /** + * Bitmap handle to the screenshot or 0 if not available. + */ + IMPORT_C TInt ScreenshotHandle() const; + + /** + * ETrue if the application is always shown in the fast swapper. + * (no use to call CloseApp for such an application) + */ + IMPORT_C TBool AlwaysShown() const; + + /** + * ETrue if the application is a system application. + * (no use to call CloseApp for such an application) + */ + IMPORT_C TBool SystemApp() const; + + /** + * ETrue if this is a wrt widget. + */ + IMPORT_C TBool Widget() const; + + /** + * Application icon bitmap handle or 0. + * If may not be set if the screenshot is available, i.e. it is + * only guaranteed to be non-zero when ScreenshotHandle() returns 0. + */ + IMPORT_C TInt AppIconBitmapHandle() const; + + /** + * Application icon mask handle. + * @see AppIconBitmapHandle + * The mask handle may be 0 even when the bitmap handle is non-zero. + */ + IMPORT_C TInt AppIconMaskHandle() const; + + + IMPORT_C void SetWgId( TInt aWgId ); + IMPORT_C void SetAppUid( const TUid& aUid ); + IMPORT_C void SetAppNameL( const TDesC& aAppName ); + IMPORT_C void SetScreenshotHandle( TInt aHandle ); + IMPORT_C void SetAlwaysShown( TBool aValue ); + IMPORT_C void SetSystemApp( TBool aValue ); + IMPORT_C void SetWidget( TBool aValue ); + IMPORT_C void SetAppIconHandles( TInt aBitmapHandle, TInt aMaskHandle ); + + IMPORT_C void ExternalizeL( RWriteStream& aStream ); + IMPORT_C void InternalizeL( RReadStream& aStream ); + + IMPORT_C static void ExternalizeArrayL( RWriteStream& aStream, + const RHgFswArray& aArray ); + IMPORT_C static void InternalizeArrayL( RReadStream& aStream, + RHgFswArray& aArray ); + +private: + TInt iWgId; + TUid iAppUid; + HBufC* iAppName; + TInt iScreenshotHandle; + TBool iAlwaysShown; + TBool iSystemApp; + TBool iWidget; + TInt iAppIconBitmapHandle; + TInt iAppIconMaskHandle; + + TInt iReserved0; + TInt iReserved1; + TInt iReserved2; + TInt iReserved3; + }; + +#endif