upnpavcontroller/upnpavcontrollerhelper/inc/upnpdlnautility.h
author Sampo Huttunen <sampo.huttunen@nokia.com>
Wed, 24 Nov 2010 09:39:46 +0200
branchIOP_Improvements
changeset 45 a6c41ca11adf
parent 38 5360b7ddc251
permissions -rw-r--r--
Updated the SIS package, there was some BC issue with the earlier version. Also updated the platform UID to S^3 version.

/*
* Copyright (c) 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:      Utility for working with dlna profiles
*
*/






#ifndef UPNPDLNAUTILITY_H
#define UPNPDLNAUTILITY_H

// INCLUDES
#include <e32base.h>
#include <badesca.h>
#include <stringpool.h>

/**
* Utility for working with dlna profiles and mime types
*
* @lib upnpavcontrollerhelper.lib
* @since S60 3.2
*/
class UPnPDlnaUtility
    {

public: // datatypes 

    enum TDlnaMode
        {
        EDMSMode = 0,
        EDMPMode,
        EDMUMode,
        EDMDMode
        };

public: // Business logic methods

         /**
         * Returns Dlna profiles for which playback on
         * device might be supported.         
         * The client must release the memory allocated for the items 
         * in the array.          
         * @since Series 60 3.2
         * @param aMode, dlna mode
         * @return Dlna profile string array
         */
        IMPORT_C static CDesC8Array& GetSupportedProfilesL( 
            const TDlnaMode aMode );
    
         /**
         * Returns ETrue if aMime is such a mime type for which playback on 
         * device might be supported.
         * @since Series 60 3.2
         * @param aMime mime type
         * @return TBool Can the mime type possibly be playable on device.
         */
        IMPORT_C static TBool IsSupportedMimeType( const TDesC8& aMime );
        
         /**
         * Returns ETrue if aProfile is such a DLNA profile for which 
         * playback on device might be supported.
         * @since Series 60 3.2
         * @param aProfile mime type
         * @return TBool Can the DLNA profile possibly be playable on device.
         */
        IMPORT_C static TBool IsSupportedDlnaProfile( const TDesC8& aProfile );
        
private:
    
        /**
         * IsSupported
         * 
         * @param  aTable
         * @param  aType
         * @return boolean is type supported
         */
        static TBool IsSupported( const TStringTable& aTable , const TDesC8& aType );
        
        /**
         * static string table
         */
        static const TStringTable iMimeTypes; 

        /**
         * static string table
         */
        static const TStringTable iDlnaTypes;
        
    };

#endif  // UPNPDLNAUTILITY_H

// End of File