--- a/upnpsharing/upnpcontentserver/inc/upnpcontainercheckerao.h Mon Nov 01 13:44:24 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,381 +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: This module handlers the cleaning and creating of the
-* filesystem to mediaserver
-*
-*/
-
-
-
-
-
-#ifndef __UPNPCONTAINERCHECKERAO_H__
-#define __UPNPCONTAINERCHECKERAO_H__
-
-// INCLUDES
-#include <e32base.h>
-
-#include <upnpbrowsecriteria.h>
-#include <upnpcontainerlist.h>
-#include <upnpcontainer.h>
-#include <upnpitem.h>
-#include <upnpitemlist.h>
-#include <upnpfilesharing.h>
-#include <upnpmediaserverclient.h>
-#include "upnpcontentserverdefs.h"
-#include "upnpsharingcallback.h"
-
-/**
- * A class to check, create and clean the default filesystem in Media server
- *
- * @since S60 3.1
- */
-class CUpnpContainerCheckerAo : public CActive
- {
- /**
- * Indicates the ongoing operation of the CUpnpContainerCheckerAo
- */
- enum THandlerOperations
- {
- EInitialize,
- EQueryDefaultContainers,
- EUnshareItemList,
- EQueryDefaultContainersResult,
- EQueryItemFromMediaServer,
- EQueryItemFromMediaServerResult,
-
- EUnshareContainer,
- EUnshareContainerResult,
-
- EShareContainer,
- EShareContainerResult,
- ENotActive
- };
-
- /**
- * Indicates the current state of the handler
- */
- enum THandlerState
- {
- EResolveDefaultContainerIds,
- ECleanFileStructure,
- EShareDefaultContainers,
- EEmptyUploadedContainer,
- EEmptyUploadedContainerItems,
- EEmptyRootContainerItems,
- EUnshareExtraContainers,
- EUnshareExtraItems,
- EIdle
- };
-
- /**
- * Indicates the current state of the handler
- */
- enum TErrorState
- {
- ENoError,
- EDropAllContent,
- EDropAllContentResult
- };
-
- /**
- * The operating modes
- */
- enum TOperationMode
- {
- EValidateContainers,
- ECheckDefaultContainers
- };
-
-public:
- /**
- * The folder checking operations
- */
- enum TContainerPosition
- {
- EImageAndVideo = 0,
- EMusic,
- EUploaded
- };
-
- /**
- * C++ constructor.
- * @since S60 3.1
- * @param aWait, the client side wait
- */
- CUpnpContainerCheckerAo( MUpnpSharingCallback* aCallback );
-
- /**
- * C++ destructor.
- */
- virtual ~CUpnpContainerCheckerAo();
-
- /**
- * Creates the default containers if they do not exist,
- * empties root container and cleans uploaded container
- * @since S60 3.1
- * @return Errorcode of the operation start
- */
- TInt ValidateContainerStructureL( RArray<TInt>* aIds );
-
- /**
- * Creates the default containers if they do not exist
- * Add ids of the default containers to array
- * @since S60 3.1
- * @param aIds The container Ids, indexed using TContainerPosition type
- * @return Errorcode of the operation start
- */
- TInt CheckDefaultContainersL( RArray<TInt>* aIds );
-
- /**
- * 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 );
-
-
-private:
-
- /**
- * 2nd phase constructor.
- */
- void ConstructL();
-
- /**
- * The active object main loop
- * @since S60 3.1
- */
- void RunL();
-
- /**
- * The active object cancel function
- * @since S60 3.1
- */
- void DoCancel();
-
- /**
- * Perform cleanup in case RunL leaves
- * @since S60 3.1
- * @return error code
- */
- TInt RunError( TInt aError );
-
- /**
- * Perform allocating of resources needed for processing upload events
- * @since S60 3.1
- * @return error code
- */
- TInt InitializeL();
-
- /**
- * Query default container structure ids from media server
- * @since S60 3.1
- */
- void QueryDefaultContainerIdsL();
-
- /**
- * Handle the query result
- * @since S60 3.1
- */
- void QueryDefaultContainerIdsResultL();
-
- /**
- * Handle the item query result
- * @since S60 3.1
- */
- void QueryItemFromCdsResultL();
-
- /**
- * Unshare the items in iItemList
- * @since S60 3.1
- */
- void UnshareItemListL();
-
- /**
- * Share container on basis of ID
- * @since S60 3.1
- */
- void ShareContainerL( TInt aPos );
-
- /**
- * Handle the sharing operation result
- * @since S60 3.1
- */
- void ShareContainerResult( );
-
- /**
- * Unshares container under processing
- * @since S60 3.1
- */
- void UnshareContainerL();
-
- /**
- * Handle result of the unshare container operation
- * @since S60 3.1
- */
- void UnshareContainerResultL();
-
- /**
- * Query containers in root level
- * @since S60 3.1
- */
- void QueryContainerItemsL();
-
- /**
- * Create browse criteria for media server query
- * @since S60 3.1
- * @return pointer to CUpnpBrowseCriteria instance
- */
- CUpnpBrowseCriteria* CreateBrowseCriteriaLC() const;
-
- /**
- * Clean allocated resources for possible next run
- * @since S60 3.1
- */
- void Cleanup();
-
- /**
- * Complete own request
- * @since S60 3.1
- * @param aError Errorcode to use in completion
- */
- void SelfComplete( TInt aError );
-
-
-
-private:
-
- /**
- * Media server API to share files
- * owned
- */
- CUpnpFileSharing* iFileSharing;
-
- /**
- * Media server session handle
- */
- RUpnpMediaServerClient iMediaServer;
-
- /**
- * Used to hold the upper ao
- * Stopped when this class has nothing to do. Not owned.
- */
- MUpnpSharingCallback* iCallback;
-
- /**
- * Hanlders current state
- */
- TInt iState;
-
- /**
- * Handlers current operation
- */
- TInt iCurrentOperation;
-
- /**
- * Id of the Images& Videos container
- */
- TInt iImageVideoContainerId;
-
- /**
- * Id of the Music container
- */
- TInt iMusicContainerId;
-
- /**
- * Id of the Upload container
- */
- TInt iUploadContainerId;
-
- /**
- * Array of shared container IDs
- */
- RArray<TInt> iSharedContainerIds;
-
- /**
- * The currently processed container
- * owned
- */
- CUpnpContainer* iTmpContainer;
-
- /**
- * Structure used to hold the containers queries from media server
- * In practice it is used to hold "Images& VIdeos" & "Music" & "Uploaded"
- * containers.
- * owned
- */
- CUpnpContainerList* iContainerList;
-
- /**
- * Structure used to hold possbile unwanted items when cleaning
- * some folder
- * owned
- */
- CUpnpItemList* iItemList;
-
- /**
- * Holds the position of the container under processing
- */
- TInt iContainerPosition;
-
- /**
- * The number of items in item query
- */
- TInt iTotalMatches;
-
- /**
- * The position when unsharing list of items
- */
- TInt iExecStatus;
-
- /**
- * Operation mode as defined by TOperationMode
- */
- TInt iOperationMode;
-
- /**
- * Pointer to client structure to contain the container ids
- * Not owned
- */
- RArray<TInt>* iClientIds;
-
- /**
- * Indicates if the client has requested stop
- * Value is the stop type
- */
- TInt iStopRequested;
-
- /**
- * State variable which informs if there is need to do
- * error handling
- */
- TInt iRecoverError;
-
- /**
- * The number of matches returned by media server
- * Not used but required by CUpnpFileSharing API
- */
- TInt iMatchCount;
-
- /**
- * temporary storage for object count when querying items from media
- * server
- */
- TInt iObjectCount;
- };
-
-
-#endif // __UPNPCONTAINERCHECKERAO_H__