diff -r 839377eedc2b -r befca0ec475f videocollection/hgmyvideos/inc/vcxhgmyvideosdownloadclient.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/videocollection/hgmyvideos/inc/vcxhgmyvideosdownloadclient.h Wed Sep 01 12:30:28 2010 +0100 @@ -0,0 +1,143 @@ +/* +* Copyright (c) 2008 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: CVcxHgMyVideosDownloadClient class definition* +*/ + + + + +#ifndef VCXHGMYVIDEOSDOWNLOADCLIENT_H +#define VCXHGMYVIDEOSDOWNLOADCLIENT_H + +// INCLUDE FILES +#include +#include "vcxhgmyvideoscollectionclient.h" + +// FORWARD DECLARATIONS + +// CLASS DECLARATION + +/** + * + * + * @lib vcxhgmyvideos.lib + */ +NONSHARABLE_CLASS( CVcxHgMyVideosDownloadClient ) : public CBase + { + public: + + enum TVcxHgMyVideosDownloadCommand + { + EVcxHgMyVideosDownloadCommandNone = 0, + EVcxHgMyVideosDownloadCommandResume = 1, + EVcxHgMyVideosDownloadCommandCancel = 2 + }; + + public: // Constructors and destructor + + /** + * Two-phased constructor. + * + * @param aCollectionClient Reference to MPX Collection client. + * @param aCollectionUtility Reference to MPX Collection Utility. + * @return New object. + */ + static CVcxHgMyVideosDownloadClient* NewL( + CVcxHgMyVideosCollectionClient& aCollectionClient, + MMPXCollectionUtility& aCollectionUtility); + + /** + * Two-phased constructor. + * + * @param aCollectionClient Reference to MPX Collection client. + * @param aCollectionUtility Reference to MPX Collection Utility. + * @return New object. + */ + static CVcxHgMyVideosDownloadClient* NewLC( + CVcxHgMyVideosCollectionClient& aCollectionClient, + MMPXCollectionUtility& aCollectionUtility); + + /** + * Destructor. + */ + virtual ~CVcxHgMyVideosDownloadClient(); + + public: + + /** + * Resumes a paused or failed video download. + * + * @param aMpxMedia Reference to MPX media object to resume. + */ + void ResumeDownloadL( const CMPXMedia& aMpxMedia ); + + /** + * Cancels an ongoing video download. + * + * @param aMpxMedia Reference to MPX media object to cancel. + */ + void CancelDownloadL( const CMPXMedia& aMpxMedia ); + + /** + * Returns true if object has pending command for MPX Collection Utility. + * + * @return ETrue if command is pending. + */ + TBool HasPendingCommand(); + + /** + * Handles completion of MPX Collection Utility command. + * + * @param aError Error code about command completion. + */ + void CommandCompleteL( TInt aError ); + + protected: // Constructors + + /** + * Default C++ constructor. + * + * @param aCollectionClient Reference to MPX Collection client. + * @param aCollectionUtility Reference to MPX Collection Utility. + */ + CVcxHgMyVideosDownloadClient( + CVcxHgMyVideosCollectionClient& aCollectionClient, + MMPXCollectionUtility& aCollectionUtility); + + /** + * Symbian 2nd phase constructor. + */ + void ConstructL(); + + protected: + + /** + * Reference to MPX Collection client. + * Not own. + */ + CVcxHgMyVideosCollectionClient& iCollectionClient; + + /** + * Reference to MPX Collection Utility. + * Not own. + */ + MMPXCollectionUtility& iCollectionUtility; + + /** + * Variable for storing pending download command. + */ + TVcxHgMyVideosDownloadCommand iPendingCommand; + }; + +#endif // VCXHGMYVIDEOSDOWNLOADCLIENT_H