upnpmediaserver/contentdirectoryservice/inc/upnpmimemapper.h
changeset 0 7f85d04be362
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/upnpmediaserver/contentdirectoryservice/inc/upnpmimemapper.h	Thu Dec 17 08:52:00 2009 +0200
@@ -0,0 +1,201 @@
+/** @file
+* Copyright (c) 2005-2006 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:  Element table data handler
+*
+*/
+
+
+
+#ifndef UPNPMIMEMAPPER_H
+#define UPNPMIMEMAPPER_H
+
+//  INCLUDES
+#include "upnptablebean.h"
+#include "upnpmap.h"
+#include <e32base.h>
+#include <d32dbms.h>
+
+
+// Mapping file extensions 
+_LIT8( KExtensionJpg,                   "jpg"                               );
+_LIT8( KExtensionPng,                   "png"                               );
+_LIT8( KExtensionTxt,                   "txt"                               );
+_LIT8( KExtensionMp3,                   "mp3"                               );
+_LIT8( KExtensionGif,                   "gif"                               );
+_LIT8( KExtensionBmp,                   "bmp"                               );
+_LIT( KExtensionWav,                   ".wav"                               );
+_LIT( KExtensionAac,                   ".aac"                               );
+
+
+
+// mime types <-> files ext
+_LIT8( KXHtmlMime,   "application/xhtml+xml" ); _LIT( KXHtmlExt,".xhtml" ); 
+_LIT8( KHtmlMime,    "text/html" );             _LIT( KHtmlExt, ".html" );
+_LIT8( KXmlMime1,    "text/xml" );       
+_LIT8( KXmlMime2,    "application/xml" );
+_LIT8( KXmlMime3,	"application/x-xml");       _LIT( KXmlExt,  ".xml" );
+_LIT8( KTxtMime,     "text/plain" );
+_LIT8( KTxtMime2,	"application/txt" );
+_LIT8( KTxtMime3,	"browser/internal" );
+_LIT8( KTxtMime4,	"text/anytext" );
+_LIT8( KTxtMime5,	"widetext/plain" );
+_LIT8( KTxtMime6,	"widetext/paragraph" );            _LIT( KTxtExt,  ".txt" );
+_LIT8( KJpegMime,    "image/jpeg" );            _LIT( KJpegExt, ".jpeg" );
+_LIT8( KJpegMime2,  "image/jpg" );
+_LIT8( KJpegMime3,   "image/jpe_" );
+_LIT8( KJpegMime4,   "image/pjpeg" );  
+_LIT8( KJpegMime5,    "image/vnd.swiftview-jpeg" );  
+
+_LIT8( KJpgMime,    "image/jpeg" );            _LIT( KJpgExt, ".jpg" );
+_LIT8( KJpgMime2,  "image/jpg" );  
+_LIT8( KJpgMime3,   "image/jpe_" );  
+_LIT8( KJpgMime4,   "image/pjpeg" );  
+_LIT8( KJpgMime5,    "image/vnd.swiftview-jpeg" );  
+
+_LIT8( KGifMime,     "image/gif" );             _LIT( KGifExt,  ".gif" );
+_LIT8( KGifMime2,	"image/x-xbitmap" );   
+_LIT8( KGifMime3,	"image/gi_" );   
+
+_LIT8( KPngMime,     "image/png" );             _LIT( KPngExt,  ".png" );
+_LIT8( KPngMime2,	 "application/png" );  
+_LIT8( KPngMime3,	 "application/x-png" );  
+
+_LIT8( KMpgMime1,    "video/mpeg");             _LIT( KMpgExt1,  ".mpg" );
+_LIT8( KMpgMime2,    "video/mpg");   
+_LIT8( KMpgMime3,     "video/x-mpg");  
+_LIT8( KMpgMime4,     "video/mpeg2" );  
+_LIT8( KMpgMime5,     "application/x-pn-mpg" );  
+_LIT8( KMpgMime6,	    "video/x-mpeg" );  
+_LIT8( KMpgMime7,	    "video/x-mpeg2a");  
+_LIT8( KMpgMime8,     "audio/mpeg" );   
+_LIT8( KMpgMime9,	    "audio/x-mpeg" );  
+_LIT8( KMpgMime10,   "image/mpg" );   
+
+_LIT8( KMpeg4Mime,   "video/mpeg4" );           _LIT( KMpeg4Ext,".mpeg4" );
+
+_LIT8( KMp4Mime,     "video/mp4" );             _LIT( KMp4Ext,  ".mp4" );
+_LIT8( KMp4Mime2,   "video/mp4v-es" );      
+_LIT8( KMp4Mime3,   "audio/mp4" );		
+
+_LIT8( KAviMime1,    "video/avi" );
+_LIT8( KAviMime2,    "video/msvideo" );
+_LIT8( KAviMime3,    "video/x-msvideo" );       _LIT( KAviExt,  ".avi" );
+_LIT8( KAviMime4,    "image/avi" );        
+_LIT8( KAviMime5,    "video/xmpg2" );   
+_LIT8( KAviMime6,	 "application/x-troff-msvideo" );   
+_LIT8( KAviMime7, 	 "audio/aiff" );                       
+_LIT8( KAviMime8, 	 "audio/avi" );			
+
+_LIT8( KMp3Mime1,    "audio/x-mpeg-3");
+_LIT8( KMp3Mime2,    "audio/mpeg3" );           _LIT( KMp3Ext,  ".mp3" );
+_LIT8( KMp3Mime3,    "audio/mpeg" );        // 1)   _LIT( KMpgExt2,  ".mp3" );
+_LIT8( KMp3Mime4,    "audio/x-mpeg" );   
+_LIT8( KMp3Mime5,    "audio/mp3" );        
+_LIT8( KMp3Mime6,    "audio/x-mp3" );      
+_LIT8( KMp3Mime7,    "audio/x-mpeg3" );  
+_LIT8( KMp3Mime8,     "audio/mpg" );        
+_LIT8( KMp3Mime9,     "audio/x-mpg" );       
+_LIT8( KMp3Mime10,   "audio/x-mpegaudio" );  
+
+_LIT8( KAacMime,     "audio/aac" );             _LIT( KAacExt,  ".aac" );
+_LIT8( KWmaMime,     "audio/x-ms-wma" );        _LIT( KWmaExt,  ".wma" );
+_LIT8( KWmaMime2,   "video/x-ms-asf" );     
+
+_LIT8( KBmpMime,     "image/bmp" );             _LIT( KBmpExt,  ".bmp" );
+_LIT8( KBmpMime2,    "image/x-bmp" );    
+_LIT8( KBmpMime3,    "image/x-bitmap" );  
+_LIT8( KBmpMime4,    "image/x-xbitmap" );  
+_LIT8( KBmpMime5,    "image/x-ms-bmp" );  
+_LIT8( KBmpMime6,    "application/bmp" );    
+_LIT8( KBmpMime7,    "application/x-bmp" );    
+_LIT8( KBmpMime8,    "application/x-win-bitmap" );     
+_LIT8( KBmpMime9,     "application/preview" );    
+
+_LIT8( KAudioL16,     "audio/L16" );
+_LIT8( KAudioVnd,     "audio/vnd.dlna.adts" );
+
+_LIT8( KAudio3gpp,     "audio/3gpp" ); 
+_LIT8( KVideo3gpp,     "video/3gpp" ); 
+_LIT( K3gpExt,  ".3gp" );
+_LIT8( KAudioAMR,     "audio/AMR" );     _LIT( KAmrExt,  ".amr" );
+
+_LIT8(KAudioWav, "audio/wav");
+_LIT8(KVideoWmv, "video/x-ms-wmv");     _LIT( KWmvExt,    ".wmv" );
+_LIT8(KVideoAvi, "video/x-ms-avi");
+
+_LIT8(KRealMedia, "application/vnd.rn-realmedia");  _LIT( KRmExt,    ".rm" );
+_LIT8(KRealAudio, "audio/vnd.rn-realaudio");        _LIT( KRealAudioExt,    ".ra" );
+_LIT8(KPmRealAudioPlugin, "audio/x-pn-realaudio-plugin"); _LIT( KPmRealAudioPluginExt,    ".rpm" );
+_LIT8(KPmRealAudio, "audio/x-pn-realaudio");        _LIT( KPmRealAudioExt,    ".ra" );
+_LIT8(KRealVideo, "video/vnd.rn-realvideo");        _LIT( KRealVideoExt,    ".rv" );
+
+// CLASS DECLARATION
+
+/**
+*  Provides mime type to file extention mapping.
+*
+*  @lib AVContentDirectory.lib
+*  @since Series60 3.1
+*/
+class CUpnpMimeMapper: public CBase 
+    {
+public:  // Constructors and destructor
+    
+        /**
+        * Two-phased constructor.
+        */
+    static CUpnpMimeMapper* NewL();
+
+     /**
+        * Destructor.
+        */
+    virtual ~CUpnpMimeMapper();
+
+public: // New functions
+    
+
+    void AddMimeMapElL( const TDesC8& aKey, const TDesC& aVal );
+    void InitMimeToExtensionMapL();
+    
+    /**
+    * This function gives extension to a file.  
+    * @since Series 60 3.1
+    * @param aMimeType - mime type from which additional information will be retrieved. 
+    * @return pointer to HBufC8 object with extension value for this file. 
+    */
+    HBufC8* GetExtensionL( const TDesC8& aMimeType );
+    
+    const HBufC* Get( const TDesC8& aKey );
+
+private:
+
+  /**
+    * C++ default constructor.
+    */
+    CUpnpMimeMapper();
+
+        /**
+        * By default Symbian 2nd phase constructor is private.
+        */
+    void ConstructL();
+   
+private:    // Data
+
+    CUpnpMap<HBufC>* iMimeToExtMap;
+  
+    };
+
+#endif      // UPNPMIMEMAPPER_H   
+        
+// End of File