homesync/contentmanager/cmserver/cmstoremanager/inc/cmsmtransferengine.h
branchIOP_Improvements
changeset 40 08b5eae9f9ff
parent 39 6369bfd1b60d
child 41 b4d83ea1d6e2
--- a/homesync/contentmanager/cmserver/cmstoremanager/inc/cmsmtransferengine.h	Mon Nov 01 13:44:24 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,470 +0,0 @@
-/*
-* 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 "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:  Manages Upnp actions needed by Store Manager
-*  Version     : %version: tr1ido#1.1.6 % << Don't touch!
-*
-*/
-
-
-
-#ifndef __CMSMTRANSFERENGINE_H
-#define __CMSMTRANSFERENGINE_H
-
-#include <e32base.h>
-#include <badesca.h>
-#include <f32file.h>
-#include "upnpfiletransfersessionobserver.h"
-
-// Forward declarations
-class MUPnPAVController;
-class MCmSmTransferObserver;
-class CCmDmMain;
-class CCmStoreListItem;
-class MCmSqlMain;
-
-// CLASS DECLARATION
- /**
- *  Class represents methods to communication with AV Controller API.
- *
- *  @lib cmstoremanager.lib
- *
- *  @since S60 5.1
- */
-NONSHARABLE_CLASS( CCmSmTransferEngine ): public CBase,
-                            public MUPnPFileTransferSessionObserver
-    {
-
-public:
-
-    // panic codes
-    enum TCmSmTransferEnginePanic
-        {
-        ECmSmTransferQueueMessedUp = 30
-        };
-
-    // Copy statuses        
-    enum TCmSmCopyStatus
-        {
-        ECmSmCopyNever,
-        ECmSmCopyContinued,
-        ECmSmCopySuccess
-        }; 
-public:
-
-    /**
-     * Two-phased constructor.
-     *
-     * @since S60 5.1
-     * @param aObserver, observer pointer
-     * @param aDBMngr, database manager
-     * @param aItems, reference to items array
-     * @param aItemIds, reference to item id array
-     * @return  pointer to CCmSmTransferEngine class
-     */
-    static CCmSmTransferEngine* NewL( MCmSmTransferObserver* aObserver, 
-        CCmDmMain* aDBMngr, RPointerArray<CCmStoreListItem>& aItems, 
-        RArray<TInt>& aItemIds );
-    
-    /**
-     * Two-phased constructor.
-     *
-     * @since S60 5.1
-     * @param aObserver, observer pointer
-     * @param aDBMngr, database manager
-     * @param aItems, reference to items array
-     * @param aItemIds, reference to item id array
-     * @return  pointer to CCmSmTransferEngine class
-     */
-    static CCmSmTransferEngine* NewLC( MCmSmTransferObserver* aObserver, 
-        CCmDmMain* aDBMngr, RPointerArray<CCmStoreListItem>& aItems,
-        RArray<TInt>& aItemIds );
-
-    /**
-     * Destructor.
-     */
-    virtual ~CCmSmTransferEngine();
-
-public: 
-
-    /**
-     * Sets av controller
-     *
-     * @since S60 5.1
-     * @param aAVControl, pointer to av controller
-     * @return  None
-     */        
-    void SetAvController( MUPnPAVController* aAVController );
-        
-    /**
-     * Lists media servers 
-     *
-     * @since S60 5.1
-     * @param aDevices, device list
-     * @return None
-     */
-    void GetMediaServersL( CUpnpAVDeviceList*& aDevices );
-    
-    /**
-     * Resets file arrays
-     *
-     * @since S60 5.1
-     * @param None
-     * @return None
-     */    
-    void ResetFileArrays();
-       
-    /**
-     * Cancel UPnP copy operation
-     *
-     * @since S60 5.1
-     * @param None
-     * @return None
-     */    
-    void CancelCopy();
-    
-    /**
-     * Copy files
-     *
-     * @since S60 5.1
-     * @param aDevId, device identifier
-     * @param aDevice, device
-     * @return None
-     */    
-    void CopyFilesL( TUint8 aDevId, CUpnpAVDevice* aDevice );
-    
-    /**
-     * Continue Copying files
-     *
-     * @since S60 5.1
-     * @return None
-     */    
-    void ContinueCopyFilesL();
-    
-    /**
-     * Transferred data
-     *
-     * @since S60 5.1
-     * @param None
-     * @return data amount
-     */      
-    TInt DataAmount() const;
-    
-    /**
-     * Returns file list
-     *
-     * @since S60 5.1
-     * @param None
-     * @return file array
-     */ 
-    CDesCArray& FilesToBeRemoved();
-
-    /**
-     * Delete file list
-     *
-     * @since S60 5.1
-     * @param None
-     * @return None
-     */     
-    void DeleteToBeRemoved();
-    
-    /**
-     * Returns file list
-     *
-     * @since S60 5.1
-     * @param None
-     * @return file array
-     */     
-    CDesCArray& FilesToBeShrinked();
-    
-    /**
-     * Delete file list
-     *
-     * @since S60 5.1
-     * @param None
-     * @return None
-     */    
-    void DeleteToBeShrinked();
-
-    /**
-     * Returns item ids which need to be deleted
-     *
-     * @since S60 5.1
-     * @param None
-     * @return Item ids
-     */     
-    RArray<TInt>& ToBeDeleted();    
-    
-    /**
-     * Cancel operation
-     *
-     * @since S60 5.1
-     * @param None
-     * @return None
-     */
-    void CancelOperation();    
-
-protected:
-
-// From base class MUPnPFileTransferSessionObserver
-
-    /**
-     * From MUPnPFileTransferSessionObserver 
-     * See base class definition
-     */
-    void TransferStarted( TInt aKey, TInt aStatus );
- 
-    /**
-     * From MUPnPFileTransferSessionObserver 
-     * See base class definition
-     */    
-    void TransferCompleted( TInt aKey, TInt aStatus,
-        const TDesC& aFilePath );
-    
-    /**
-     * From MUPnPFileTransferSessionObserver 
-     * See base class definition
-     */
-    void TransferProgress( TInt aKey, TInt aBytes,
-        TInt aTotalBytes );   
-
-    /**
-     * From MUPnPFileTransferSessionObserver 
-     * See base class definition
-     */
-    void MediaServerDisappeared(
-        TUPnPDeviceDisconnectedReason aReason );  
-            
-private:
-
-    /**
-     * Copying one file
-     *
-     * @since S60 5.1
-     * @param None
-     * @return None
-     */
-    void CopySingleFileL();
-
-    /**
-     * Connects to device
-     *
-     * @since S60 5.1
-     * @param aDevice to be connected
-     * @return None
-     */    
-    void ConnectedToDeviceL( const CUpnpAVDevice& aDevice );
-    
-    /**
-     * Wait
-     *
-     * @since S60 5.1
-     * @param aDelay, delay in seconds
-     * @return None
-     */        
-    void WaitForProgress( TInt aDelay );
-    
-    /**
-     * Abort operation
-     *
-     * @since S60 5.1
-     * @param aError, error code
-     * @return None
-     */
-    void AbortTransfer( TInt aError );
-    
-    /**
-     * Adds stored item to database
-     *
-     * @since S60 5.1
-     * @param aFileName, name of the stored file
-     * @param aUDN, where file was stored
-     * @param aTimeStamp, time stamp for store
-     * @return None
-     */       
-    void AddStoredL( const TDesC& aFileName, const TDesC8& aUDN, 
-        TTime aTimeStamp );
-
-    /**
-     * Handles item status values
-     * @param aKey, database id of item
-     * @return  None
-     */        
-    void HandleItemStatusL( const TInt aKey );
-
-     /**
-     * Updates status
-     *
-     * @since S60 5.1
-     * @param aStatus, status to be set
-     * @param aFid, file id
-     * @param aMsId, media server id
-     * @return None
-     */    
-    void UpdateStoreTransferStatus( TUint aStatus, TInt64 aFid, 
-        TInt64 aMsId );
-        
-     /**
-     * Returns index to transferred items array
-     *
-     * @since S60 5.1
-     * @param aKey, database id
-     * @return index to item array
-     */  
-    TInt GetArrayIndex( TInt aKey );
-
-     /**
-     * Returns ETrue if file is already on server
-     *
-     * @since S60 5.1
-     * @param aIndex, index to iItems array
-     * @return ETrue if file is duplicate
-     */     
-    TBool IsDuplicateL( const TInt aIndex );
-
-    /**
-     * Handle to copying files once
-     *
-     * @since S60 3.2
-     * @param None
-     * @return None
-     */  
-    void CopyFilesOnceL();
-
-    /**
-     * Complete the copy process
-     *
-     * @since S60 3.2
-     * @param None
-     * @return None
-     */  
-    void FinishCopy();   
-
-    /**
-     * Performs the first phase of two phase construction.
-     *
-     * @since S60 5.1
-     * @param aObserver, transfer observer
-     * @param aDBMngr, database manager
-     * @param aItems, store items
-     * @param aItemIds, item ids
-     * @return None
-     */
-    CCmSmTransferEngine( MCmSmTransferObserver* aObserver, 
-        CCmDmMain* aDBMngr, RPointerArray<CCmStoreListItem>& aItems,
-        RArray<TInt>& aItemIds );
-
-    /**
-     * Performs the second phase construction.
-     */
-    void ConstructL();
-    
-
-private:
-
-    /**
-     * Pointer to AV Controller
-     */
-    MUPnPAVController* iAVController;               // not owned
-
-    /**
-     * Browse action Observer
-     */
-    MCmSmTransferObserver* iObserver;               // not owned
-    
-    /**
-     * Database manager
-     */
-    CCmDmMain* iDBManager;                          // not owned  
-    
-    /**
-     * File transfer started
-     */
-    TTime iTransferStarted;
-    
-    /**
-     * Device
-     */  
-    CUpnpAVDevice* iDevice;                         // not owned            
-
-    /**
-     * File Data amount in kbytes
-     */
-    TInt iTransferredData;
-    
-    /**
-     * Total transferred data amount in kbytes
-     */
-    TInt iTotalTransferredData;
-    
-    /**
-     * Items to store
-     */
-    RPointerArray<CCmStoreListItem>& iItems;
-    
-    /**
-     * Ids of the selected store items
-     */
-    RArray<TInt>& iItemIds;
-    
-    /**
-     * Item ids to be deleted
-     */
-    RArray<TInt> iToBeDeleted;                      // owned
-    
-    /**
-     * Index of the processed file
-     */
-    TInt iIndex;
-    
-    /**
-     * Index of the current mediaserver
-     */
-    TUint8 iDevId;
-    
-    /**
-     * File to be removed
-     */
-    CDesCArray* iFilesToBeRemoved;                  // owned
-
-    /**
-     * File to be shrinked
-     */
-    CDesCArray* iFilesToBeShrinked;                 // owned
-    
-    /**
-     * Database wrapper ( member variable because of performance issues )
-     */
-    MCmSqlMain* iDbWrapper; // owned
-    
-    /** Browse session */
-    MUPnPFileUploadSession* iUploadSession; // not owned
-    
-    /**
-     * Transfer queue
-     */    
-    RArray<TInt> iTransferQueue;    
-    
-    /**
-     * Copy status
-     */
-    TCmSmCopyStatus iCopyStatus;
-    
-    /**
-     * File server session
-     */
-    RFs iFSession;
-    
-    };
-
-#endif //  __CMSMTRANSFERENGINE_H