diff -r 000000000000 -r 3ce708148e4d applicationmanagement/server/inc/AMDownloader.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/applicationmanagement/server/inc/AMDownloader.h Thu Dec 17 08:40:12 2009 +0200 @@ -0,0 +1,152 @@ +/* + * Copyright (c) 2002-2004 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: Implementation of applicationmanagement components + * + */ + +#ifndef __CAMDOWNLOADER_H__ +#define __CAMDOWNLOADER_H__ + +#include +#include "AppMgmtProgDialog.h" +#include "AppMgmtSrvApp.h" + +// FORWARD DECLARATIONS +class RHttpDownload; + +namespace NApplicationManagement + { + + // CLASS DECLARATION + + /** + * CAMDownloader lets AM to download content. + * + * @since Series + */ + class CAMDownloader : public CBase, public MDLProgressDlgObserver + { +public: + // Constructors and destructor + + /** + * Two-phased constructor. + */ + static CAMDownloader* NewL(RHttpDownload& aDownload, + MAMDownloaderObserver& aObserver); + /** + * Destructor. + */ + virtual ~CAMDownloader(); + void HandleDLProgressDialogExitL(TInt aButtonId); + void DisplayDownloadFailedNoteL(THttpDownloadMgrError aError, TInt32 aGlobalErr); + +private: + /** + * C++ default constructor. + */ + CAMDownloader(RHttpDownload& aDownload, + MAMDownloaderObserver& aObserver); + + /** + * By default Symbian 2nd phase constructor is private. + */ + void ConstructL(); + +public: + // New functions + + void CreateAndUpdateProgressDialogL(TInt32 aDownloadedSize, + TInt32 aContentSize, THttpProgressState aState); + /** + * Starts download of content + * @since + * @leave If staring download fails + */ + TInt StartDownload(); + + /** + * Stop download of content + * @since + */ + TInt StopDownload(); + + /** + * Continue download of content + * @since + */ + TInt ContinueDownload(); + + /** + * + * @since + */ + TBool CompareDownloadURI(const TDesC8& aURI); + + /** + * + * @leave If staring download fails + */ + TInt32 DownloadStatusCodeL(THttpDownloadState aDownloadState); + + /** + * Returns the filename that holds the downloaded + * content if download is successful + * @since + * @return filename + */ + const TDesC& FileName(); + + /** + * Returns the mimetype of downloaded + * @since + * @return mimetype + */ + const TDesC8& MimeType(); + + /** + * Returns the URI for download + * @since + * @return download URI + */ + const TDesC8& DownloadURI(); + +private: + void FileNameFromDownloadL(); + void ContentTypeFromDownloadL(); + void DownloadURIFromDownloadL(); + +public: + // Functions from base classes + TUint32 iProgStarted; + TUint32 iSetFinalValue; + + CAppMgmtProgDialog *iProgressNote; + +private: + // Data + RHttpDownload &iDownload; + + HBufC *iFileName; + HBufC8 *iContentType; + HBufC8 *iURI; + MAMDownloaderObserver& iObserver; + TBool iProgressCancelled; + THttpProgressState iCurrentDownloadProgState; + }; + + } // namespace NApplicationManagement + +#endif // __CAMDOWNLOADER_H__ +// End of File