diff -r 000000000000 -r 7f85d04be362 upnpframework/upnpcommand/inc/upnpfiletransferbasetask.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/upnpframework/upnpcommand/inc/upnpfiletransferbasetask.h Thu Dec 17 08:52:00 2009 +0200 @@ -0,0 +1,170 @@ +/* +* 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: Header file for the CUpnpFileTransferBaseTask class. +* +*/ + + +#ifndef UPNP_FILETRANSFER_BASE_TASK_H +#define UPNP_FILETRANSFER_BASE_TASK_H + +// INCLUDES +#include +#include "upnpavbrowsingsessionobserver.h" +#include "upnptask.h" + +// FORWARD DECLARATIONS +class MUPnPAVBrowsingSession; +class MUPnPAVSessionBase; +class CUPnPCommonUI; +class CUpnpTaskResourceAllocator; + + + +/** +* This class defines the CUpnpFileTransferBaseTask +* used in UpnpCommand component. +* +* @since S60 3.2 +*/ +class CUpnpFileTransferBaseTask : public CUpnpTask, + public MUPnPAVBrowsingSessionObserver + { + public: // Methods from CUpnpFileTransferBaseTask + + /** + * Allocates the Upnp Fw resources. + * + * @since S60 3.2 + */ + void AllocateFileTransferResourcesL( TInt aMode ); + + /** + * Executes the task. + * + * @since S60 3.2 + */ + void ExecuteFileTransferL( TBool aRemoveFiles, + TInt& aTransferredFiles); + + /** + * return CUpnpTaskResourceAllocator + * + * @since S60 3.2 + */ + CUpnpTaskResourceAllocator* ResourceAllocator(); + + public: // Methods from CUpnpTask, not used + + void AllocateResourcesL() {} + void ExecuteL() {} + + public: // Public destructor + + /** + * Destructor. + */ + virtual ~CUpnpFileTransferBaseTask(); + + /** + * Perform the first phase of two phase construction. + * + * @since S60 3.2 + * @return a new instance of CUpnpFileTransferBaseTask, + * casted to type CUpnpTask + */ + CUpnpFileTransferBaseTask(); + + + protected: + + /** + * Returns connection state + */ + TBool IsWlanActive(); + + private: // Call back methods of MUPnPAVBrowsingSessionObserver + + /* Not used */ + void BrowseResponse( + const TDesC8& /*aBrowseResponse*/, + TInt /*aError*/, + TInt /*aMatches*/, + TInt /*aTotalCount*/, + const TDesC8& /*aUpdateId*/ + ) {} + void SearchResponse( + const TDesC8& /*aSearchResponse*/, + TInt /*aError*/, + TInt /*aMatches*/, + TInt /*aTotalCount*/, + const TDesC8& /*aUpdateId*/ + ) {} + void SearchCapabilitiesResponse( + TInt /*aError*/, + const TDesC8& /*aSearchCapabilities*/ + ) {} + void CreateContainerResponse( TInt /*aError*/, + const TDesC8& /*aObjectId*/ ) {} + void DeleteObjectResponse( TInt /*aError*/ ) {} + void ReserveLocalMSServicesCompleted( TInt /*aError*/ ){} + + + /** + * Notifies that the Media Renderer we have a + * session which has disappeared. + * + * @since S60 3.2 + */ + void MediaServerDisappeared( + TUPnPDeviceDisconnectedReason aReason ) ; + + + private: // Data members + + /** + * Connection state + */ + enum TConnectionState{ + EStateConnected = 0, + EStateMSLost, + EStateWLANLost + }; + + + /** + * Pointer to the UpnpAvController's browsing session instance. Owned. + */ + MUPnPAVBrowsingSession* iBrowsingSession; + + /** + * Pointer to the UPnPCommonUI. Owned. + */ + CUPnPCommonUI* iCommonUI; + + /** + * The resource allocator. Owned. + */ + CUpnpTaskResourceAllocator* iResourceAllocator; + + /** + * Connection state + */ + TConnectionState iState; + + }; + +#endif // UPNP_FILETRANSFER_BASE_TASK_H + +// End of File