diff -r a36b1e19a461 -r 989d2f495d90 serviceproviders/sapi_mediamanagement/mediamanagementservice/inc/mgthumbobserver.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/serviceproviders/sapi_mediamanagement/mediamanagementservice/inc/mgthumbobserver.h Fri Jul 03 15:51:24 2009 +0100 @@ -0,0 +1,166 @@ +/* +* Copyright (c) 2007-2007 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "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: This Class is observer class for thumbnail generation request +* +*/ + +#ifndef MGTHUMBOBSERVER_H_ +#define MGTHUMBOBSERVER_H_ + +#include +#include +#include +#include + +class CThumbnailManager; +class MThumbnailObserver; +const TInt KNegative = -1; + +/** +* TThumbnailRequestInfo class This class contains the information of thumbanil generation request +* +* @since Series60 v3.2 +*/ + +class TThumbnailRequestInfo + { +public: + + /** + * Constructor + */ + + TThumbnailRequestInfo():iObserver(NULL),iThumbnailPath(NULL),iTransactionId(KNegative),iThumbnailRequestId(KNegative) + { + + } + + public: + /** + *Pointer to instance of MThumbnailObserver + */ + MThumbnailObserver* iObserver; + /** + *Thumbnail path + */ + HBufC* iThumbnailPath; + /** + *Transaction Id + */ + TInt32 iTransactionId; + /** + *It is thumbanil request id + */ + + TThumbnailRequestId iThumbnailRequestId; + + }; + +/** +* CThumbnailObserver class +* @since Series60 v3.2 +*/ +class CThumbnailObserver: public CActive ,public MThumbnailManagerObserver + { + public: + + /** + * Two-phased constructor + * @return CThumbnailObserver* Returns the instance of + * CThumbnailObserver. + */ + + static CThumbnailObserver* NewL(); + /** + * This method adds the thumbnail request information to observer + *@param aObserver Observer + *@param aTransactionID TransactionId + *@param aThumbnailPath Path where thumbnail will be saved + *@param aThumbnailRequestId It request id of thumbnail generation request + * @return void + */ + void AddToObserverL(MThumbnailObserver* aObserver,TInt32 aTransactionID ,TDesC& aThumbnailPath , TThumbnailRequestId aThumbnailRequestId); + /** + * This method is derived from MThumbnailManagerObserver + *@param aThumbnail Thumbnaildata + *@param aThumbnailRequestId It request id of thumbnail generation request + * @return void + */ + virtual void ThumbnailPreviewReady(MThumbnailData& aThumbnail, TThumbnailRequestId aId); + /** + * This method is derived from MThumbnailManagerObserver + *@param aError Error returned to callback method + *@param aThumbnail Thumbnaildata + *@param aThumbnailRequestId It request id of thumbnail generation request + * @return void + */ + virtual void ThumbnailReady(TInt aError, MThumbnailData& aThumbnail, TThumbnailRequestId aId); + /** + * Destructor + */ + ~CThumbnailObserver(); + /** + * This method cancels the thumbnail generation request + *@param aTransactionID Transaction Id + * @return TInt it returns KErrNone if request is canceled otherwise system wide error + */ + TInt Cancel(TInt32 aTransactionID); + /** + * This method sets the thumbnail manager to observer class + *@param aThumbnailManager pointer to thumbnail manager + * @return void + */ + void SetThumbnailMangager(CThumbnailManager* aThumbnailManager); + /** + * User will call this method when thumbnail already exists + * @return void + */ + void ThumbnailAlreadyExists(); + public: + /** + * Methods derived from CActive + * @return void + */ + + void DoCancel(); + /** + * Methods derived from CActive + * @return void + */ + + void RunL(); + + private: + /** + * Constructor + */ + + CThumbnailObserver(); + private: + + /** + * Pointer to thumbnailManager + */ + + CThumbnailManager* iThumbnailManager; + + /** + * Array of TThumbnailRequestInfo + */ + + RArray iThumbnailRequestArray; + + }; + +#endif /* MGTHUMBOBSERVER_H_ */