--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/upnpframework/upnpaiwprovider/inc/upnpaiwmovetoexternalservice.h Thu Dec 17 08:52:00 2009 +0200
@@ -0,0 +1,143 @@
+/*
+* Copyright (c) 2005-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: Header file for the UpnpAiwMoveToExternalService.
+*
+*/
+
+
+#ifndef _UPNP_AIW_MOVE_TO_EXTERNAL_SERVICE_H
+#define _UPNP_AIW_MOVE_TO_EXTERNAL_SERVICE_H
+
+// INCLUDES
+#include <AiwServiceIfMenu.h>
+#include "upnpaiwengineobserver.h"
+
+// FUNCTION PROTOTYPES
+class CUPnPAiwEngine;
+class CUpnpDrmFilter;
+
+// CLASS DECLARATION
+
+/**
+* CUPnPAiwMoveToExternalService
+* The class implements the "Move to external" service of the
+* UPnP AIW Media Provider.
+* @since Series S60 3.0
+*/
+class CUPnPAiwMoveToExternalService : public CAiwServiceIfMenu,
+ public MUPnPAiwEngineObserver
+ {
+
+ public: // Constructors and destructor
+
+ // Two-phased constructor.
+ static CUPnPAiwMoveToExternalService* NewL();
+
+ // Destructor.
+ virtual ~CUPnPAiwMoveToExternalService();
+
+ public: // Methods from the CAiwServiceIfMenu
+
+ // Unnecessary methods
+ void InitialiseL( MAiwNotifyCallback& /*aFrameworkCallback*/,
+ const RCriteriaArray& /*aInterest*/ ) {}
+ void HandleServiceCmdL(
+ const TInt& /*aCmdId*/,
+ const CAiwGenericParamList& /*aInParamList*/,
+ CAiwGenericParamList& /*aOutParamList*/,
+ TUint /*aCmdOptions*/,
+ const MAiwNotifyCallback* /*aCallback*/) {}
+
+ /**
+ * Initialises menu pane by adding provider specific menu items.
+ * The AIW Framework gives the parameters to be used in addition.
+ * @param aMenuPane Menu pane handle
+ * @param aIndex position of item where to add menu items.
+ * @param aCascadeId ID of cascade menu item.
+ * @param aInParamList input parameter list for provider's parameters
+ * checking
+ */
+ void InitializeMenuPaneL( CAiwMenuPane& aMenuPane,
+ TInt aIndex,
+ TInt aCascadeId,
+ const CAiwGenericParamList& aInParamList);
+
+ /**
+ * Handle a menu command invoked by the Handler.
+ * @param aMenuCmdId Command ID for the menu command,
+ * defined by the provider when adding the menu commands.
+ * @param aInParamList Input parameters, could be empty list
+ * @param aOutParamList Output parameters, could be empty list
+ * @param aCmdOptions Options for the command, see KAiwCmdOpt*
+ * constants.
+ * @param aCallback callback if asynchronous command handling is wanted
+ * by consumer. The provider may or may not support this, leaves
+ * with KErrNotSupported, it not.
+ */
+ void HandleMenuCmdL( TInt aMenuCmdId,
+ const CAiwGenericParamList& aInParamList,
+ CAiwGenericParamList& aOutParamList,
+ TUint aCmdOptions = 0,
+ const MAiwNotifyCallback* aCallback = NULL);
+
+ public: // MUPnPAiwEngineObserver
+
+ // Unnecessary callback method
+ void PlayCompleteL( TInt /*aStatus*/ ) {}
+
+ /**
+ * Indicates that the connection with the target UPnP
+ * device has been lost.
+ *
+ * @since Series 60 3.0
+ * @param None
+ * @return None
+ */
+ void ConnectionLostL();
+
+ private: // private methods
+
+ /**
+ * Deletes the contents of the iFileNames pointer array
+ *
+ * @since Series 60 3.0
+ * @param None
+ * @returns None
+ */
+ void EmptyFileNameArray();
+
+
+ private: // construction
+
+ // Constructor
+ CUPnPAiwMoveToExternalService();
+
+ // ConstructL
+ void ConstructL();
+
+ private: // Data members
+
+ // reference to the engine component
+ CUPnPAiwEngine* iEngine; // not owned (singleton)
+
+ // reference to the client (call back reference)
+ MAiwNotifyCallback* iClient; // not owned
+
+ // The list of file names received as a parameter
+ RPointerArray<TDesC16> iFileNames; // owned
+ };
+
+#endif // _UPNP_AIW_MOVE_TO_EXTERNAL_SERVICE_H
+
+// End of file