upnpsharing/upnpcontentserver/inc/upnpcontainercheckerao.h
branchIOP_Improvements
changeset 40 08b5eae9f9ff
parent 39 6369bfd1b60d
child 41 b4d83ea1d6e2
--- 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__