diff -r 6369bfd1b60d -r 08b5eae9f9ff upnpsharing/upnpcontentserver/inc/upnpunsharerao.h --- a/upnpsharing/upnpcontentserver/inc/upnpunsharerao.h Mon Nov 01 13:44:24 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,301 +0,0 @@ -/* -* Copyright (c) 2006-2007 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: CUpnpUnsharerAo class definitions -* -*/ - - - - - -#ifndef __UPNPUNSHARERAO_H__ -#define __UPNPUNSHARERAO_H__ - - -// INCLUDE FILES -#include -#include -#include -#include -#include -#include -#include -#include "upnpcontentserverdefs.h" -#include "upnpsharingcallback.h" - -// CLASS DECLARATION -/** - * Active object class for unsharing UPnP containers in an incremental way - * @since S60 3.1 - */ -NONSHARABLE_CLASS( CUpnpUnsharerAo ): public CActive - { - /** - * Indicates the ongoing operation of the CUpnpUnsharerAo - */ - enum THandlerOperations - { - EInitialize, - EQueryContainersFromMediaServer, - EQueryContainersFromMediaServerResult, - EQueryItemsFromMediaServer, - EQueryItemsFromMediaServerResult, - EUnshareItemList, - EUnshareContainer, - EUnshareContainerResult, - - ENotActive - }; - - public: // Constructors and destructor - - /** - * C++ default constructor. - * @since S60 3.1 - * @param aClientWait, reference to client wait, for signalling completion - * @param aPriority, Priority value for this active object - */ - CUpnpUnsharerAo( MUpnpSharingCallback* aCallback, TInt aPriority ); - - /** - * Destructor. - */ - virtual ~CUpnpUnsharerAo(); - - protected: - - /** - * Function is called when active request is ready - * @since S60 3.1 - */ - virtual void RunL(); - - /** - * Cancels active request - * @since S60 3.1 - */ - virtual void DoCancel(); - - /** - * Handle leaves from RunL function - * @since S60 3.1 - */ - TInt RunError( TInt aError ); - - public: // new functions - - /** - * Unshares all items and subcontainers from given container recursively - * Leaves the containers with aContainerId - * @since S60 3.1 - * @param aContainerId Id of the container to empty - * @return Error code of the operation - */ - TInt EmptyContainer( TInt& aContainerId ); - - /** - * Request this active ocject to stop as soon as is possible - * Stop is indicated to client via callback - * @since S60 3.1 - * @param aStopType Type of stop operation - */ - void RequestStop( MUpnpSharingCallback::TSharingStopType aStopType ); - - /** - * Return progress of the current unsharing operation - * Progress is shown as procents - * @since S60 3.2.3 - * @return the progress value - */ - TInt UnSharingProgress( ) ; - - /** - * Get total items of the all unsharing operation - * @since S60 3.2.3 - * @return a numbers of the unsharing items - */ - TInt TotalItemsForUnShare( ) ; - - private: - - /** - * Qyery list of containers from media server - * @since S60 3.1 - * @param aId Id of the container to query containers from - */ - void QueryContainersFromMediaServerL( TInt aId ); - - /** - * Handle the result of the container query - * @since S60 3.1 - */ - void QueryContainersFromMediaServerResultL(); - - /** - * Query items from certain container from media server - * @since S60 3.1 - * @param aId Id of the container to query items from - */ - void QueryContainerItemsL( TInt aId ); - - /** - * Handle the result of the container query - * @since S60 3.1 - */ - void QueryContainerItemsResultL(); - - /** - * Unshare the items in iItemList - * @since S60 3.1 - */ - void UnshareItemListL(); - - /** - * Unshare the container pointed by iCurrentContainerId - * @since S60 3.1 - */ - void UnshareContainerL(); - - /** - * Handle the result of container unshare - * @since S60 3.1 - */ - void UnshareContainerResultL(); - - /** - * Perform allocating of resources needed for processing upload events - * @since S60 3.1 - * @param aContainerId The id of the initial container - * @return error code - */ - TInt InitializeL( TInt& aContainerId ); - - /** - * Creates browse criteria for media server querys - * @since S60 3.1 - */ - CUpnpBrowseCriteria* CreateBrowseCriteriaLC() const; - - /** - * Complete own async request - * @since S60 3.1 - * @param aError Error code to complete request - */ - void SelfComplete( TInt aError ); - - /** - * Clean the internal variables after error/when finished - * @since S60 3.1 - */ - void Cleanup(); - - - - private: // data - - /** - * Media server API to share files - * owned - */ - CUpnpFileSharing* iFileSharing; - - /** - * Media server session handle - */ - RUpnpMediaServerClient iMediaServer; - - /** - * Structure used to hold the containers queries from media server - * In practice it is used to hold "Images& VIdeos" & "Music" & "Uploaded" - * containers. - * Ordering from end to beginning - * owned - */ - CUpnpContainerList* iContainerList; - - /** - * The id of the current container - */ - TInt iCurrentContainerId; - - /** - * Array for all container levels used in processing - * Ordering top-down. - */ - RPointerArray iContainerLists; - - /** - * Structure used to hold possbile unwanted items when cleaning - * some folder - */ - CUpnpItemList* iItemList; - - /** - * This is started by client if needed. Stopped when profiling is ready - * not owned. - */ - MUpnpSharingCallback* iCallback; - - /** - * The container to process - */ - TInt iUpContainer; - - /** - * Total number of items in all operations to media server - */ - TInt iAllTotalItems; - - /** - * Total number of items in some operations to media server - */ - TInt iTotalItems; - - /** - * Total number of containers received in media server container query - */ - TInt iTotalContainers; - - /** - * The position when querying containers in segments - */ - TInt iContainerBrowsePosition; - - /** - * The postion when incrementally processing large number of items - */ - TInt iExecStatus; - - /** - * State of the active object used to determine the next operation after - * RunL completes - */ - TInt iCurrentOperation; - - /** - * Indicates if the client has requested stop - * Value is the stop type - */ - TInt iStopRequested; - - /** - * Indicates the last successfully unshared item - * Not used but required by CUpnpFileSharing API - */ - TInt iUnsharePosition; - }; - -#endif // __UPNPUNSHARERAO_H__ - -// End of file