photosgallery/viewframework/medialists/inc/glximagereader.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Tue, 02 Feb 2010 00:10:37 +0200
changeset 4 57d388cc48c1
parent 2 7d9067c6fcb1
child 14 ce1c7ad1f18b
permissions -rw-r--r--
Revision: 201003 Kit: 201005

/*
* Copyright (c) 2008-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:   imagereader header file
*
*/


#ifndef GLXIMAGEREADER_H_
#define GLXIMAGEREADER_H_

#include <imageconversion.h>
#include "glximageviewermanager.h"
class CFbsBitmap;

/**
 *  Image Size observer.
 *
 *  Callback interface for getting size information of a given image.
 */
class MImageReadyCallBack
    {
public:
    /**
     * Getting image size information is complete.
     *
     * @param aError         Error code.
     * @param aSz            Size of the image.
     */    
    virtual void ImageSizeReady(TInt aError, const TSize aSz) = 0;
    };

/**
 *  CGlxImageReader
 *
 *  Image Attributes Reader
 *
 *  @lib glxmedialists.lib
 */
class CGlxImageReader : public CActive
    {
private:
    static CGlxImageReader* NewLC(MImageReadyCallBack& aNotify);
    CGlxImageReader(MImageReadyCallBack& aNotify);
    void ConstructL();
    void GetFileTypeL(TDataType aMimeType);

protected:
    void DoCancel();
    void RunL();

public:
    static CGlxImageReader* NewL(MImageReadyCallBack& aNotify);
    ~CGlxImageReader();
    TInt GetDRMRightsL(TInt aAttribute);

private:
    MImageReadyCallBack&                iNotify;
    CImageDecoder*                      iImageDecoder;
    CFbsBitmap*                         iFrame;
    CGlxImageViewerManager*             iImgViewerMgr;
    };

#endif /* GLXIMAGEREADER_H_ */