upnpframework/upnpaiwprovider/inc/upnpaiwopenexternalservice.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Thu, 17 Dec 2009 08:52:00 +0200
changeset 0 7f85d04be362
permissions -rw-r--r--
Revision: 200947 Kit: 200951

/*
* 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 UpnpAiwOpenExternalService.
*
*/


#ifndef _UPNP_AIW_OPEN_EXTERNAL_SERVICE_H
#define _UPNP_AIW_OPEN_EXTERNAL_SERVICE_H

//  INCLUDES
#include <AiwServiceIfBase.h>

// FUNCTION PROTOTYPES
class CUPnPAiwEngine;

// CLASS DECLARATION

/**
*  CUPnPAiwOpenExternalService
*  The class implements the "Open external" service of the
*  UPnP AIW Media Provider.
*  @since Series S60 3.0
*/
class CUPnPAiwOpenExternalService : public CAiwServiceIfBase
    {

    public: // Constructors and destructor

        // Two-phased constructor.
        static CUPnPAiwOpenExternalService* NewL();
        
        // Destructor.
        virtual ~CUPnPAiwOpenExternalService();

    public: // Methods from the CAiwServiceIfMenu

        // Unnecessary method
        void InitialiseL( MAiwNotifyCallback& /*aFrameworkCallback*/,
                          const RCriteriaArray& /*aInterest*/) {}

        /**
        * Executes generic service commands included in criteria.
        * @param aCmdId Command to be executed
        * @param aInParamList Input parameters, can be an empty list
        * @param aOutParamList Output parameters, can be an empty list
        * @param aCmdOptions Options for the command, see KAiwCmdOpt* 
        *        constants.
        * @param aCallback callback for asynchronous command handling, 
        *        parameter
        *        checking, etc.
        * @see enum TServiceCmdOptions in GENERICPARAM.HRH
        * @exception KErrArgument if callback is missing when required.
        * @exception KErrNotSupported if no provider support service
        */
        void HandleServiceCmdL( const TInt& aCmdId,
                                const CAiwGenericParamList& aInParamList,
                                CAiwGenericParamList& aOutParamList,
                                TUint aCmdOptions = 0,
                                const MAiwNotifyCallback* aCallback = NULL);

    private: // construction

        // Constructor
        CUPnPAiwOpenExternalService();

        // ConstructL
        void ConstructL();

    private: // Data members

        // reference to the engine component
        CUPnPAiwEngine* iEngine;                // not owned (singleton)

    };

#endif // _UPNP_AIW_OPEN_EXTERNAL_SERVICE_H

// End of file