diff -r 000000000000 -r 96612d01cf9f videofeeds/clientapi/inc/MIptvMyVideosClientObserver.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/videofeeds/clientapi/inc/MIptvMyVideosClientObserver.h Mon Jan 18 20:21:12 2010 +0200 @@ -0,0 +1,120 @@ +/* +* Copyright (c) 2006-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: My Videos Client API* +*/ + + + + +#ifndef MIPTVMYVIDEOSCLIENTOBSERVER_H +#define MIPTVMYVIDEOSCLIENTOBSERVER_H + +#include "CIptvUtil.h" + +/** + * Observer for My Videos API that needs to be implemented by application. + * + * @lib IptvClientApi.dll + */ +class MIptvMyVideosClientObserver + { + +public: + + /** + * The event type for ContentsUpdated callback method. + */ + enum TIptvContentUpdatedEventType + { + EContentUpdated, // Major changes, all content should be updated + EAdded, // Individual video added + EUpdated, // Individual video updated + ERemoved // Individual video deleted + }; + + /** + * Helper event class for ContentsUpdated callback method. + */ + class TIptvContentUpdatedEvent + { + + public: + + /** + * The type of the change + */ + TIptvContentUpdatedEventType iEventType; + + /** + * The drive number, this can be 0 in some cases. + */ + TInt iDrive; + + /** + * Drive specific file ID identifier, this can be 0 in some cases. + */ + TIptvFileId iFileId; + }; + +// New functions + + /** + * Asynchronous callback observer function signaling application that + * My Videos video contents has changed. + */ + virtual void ContentsUpdated( TIptvContentUpdatedEvent aEvent ) = 0; + + /** + * Asynchronous response callback function to video GetTotalVideoLenght(). + * Result is provided asynchronously because calculation may take some + * time. + * + * @param aTotalPlayTime Total play time in seconds. + * @param aTotalFileSize Total file size in kilo bytes. + */ + virtual void TotalVideoLenghtResponse( + TIptvPlayTime aTotalPlayTime, + TIptvFileSize aTotalFileSize ) = 0; + + /** + * Asynchronous callback function signaling that copy or move operation + * has been finished. + * + * @param aServerStatus Request status. + * KErrNone if no error, + * KErrCancel if cancelled, etc. + * @param aOperationStatus Status of actual copy or move operation. + * KErrNone if no error, + * KErrDiskFull if disk full, etc. + * @param aFailed If several items was copied or moved and some + * failed, the count of failed items. + */ + virtual void CopyOrMoveResponse( + TInt aServerStatus, + TInt aOperationStatus, + TInt aFailed ) = 0; + + /** + * Asynchronous callback function signaling that delete operation has + * been finished. + * + * @param aStatus Status of delete operation. + * KErrNone if no error, + * KErrDiskFull if disk full, etc. + */ + virtual void DeleteResponse( TInt aStatus ) = 0; + + }; + +#endif // MIPTVMYVIDEOSCLIENTOBSERVER_H