Revision: 201001 default PDK_3.0.f PDK_3.0.g
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Mon, 18 Jan 2010 20:31:16 +0200
changeset 0 d7e778ce6e8e
child 4 bf642e5cdd8d
Revision: 201001 Kit: 201003
helix_ren/cenrep/keys_helix.xls
helix_ren/data/backup_registration.xml
helix_ren/helix_stub/MMFMetadataEventConfigConstants/group/bld.inf
helix_ren/helix_stub/MMFMetadataEventConfigConstants/inc/MMFMetadataEventConfigConstants.h
helix_ren/helix_stub/MMFScalingCustomCommands/group/bld.inf
helix_ren/helix_stub/MMFScalingCustomCommands/inc/MMFScalingCustomCommandConstants.h
helix_ren/helix_stub/ThumbnailAPI/group/bld.inf
helix_ren/helix_stub/ThumbnailAPI/group/hxmetadatautil.mmp
helix_ren/helix_stub/ThumbnailAPI/inc/hxmetadatakeys.h
helix_ren/helix_stub/ThumbnailAPI/inc/hxmetadatautil.h
helix_ren/helix_stub/ThumbnailAPI/inc/hxtnutil.h
helix_ren/helix_stub/ThumbnailAPI/inc/hxtnutil_obs.h
helix_ren/helix_stub/ThumbnailAPI/src/hxmetadatautil.cpp
helix_ren/helix_stub/ThumbnailAPI/src/hxtnutil.cpp
helix_ren/helix_stub/external_packet_source_api/group/XPSPacketSink.mmp
helix_ren/helix_stub/external_packet_source_api/group/bld.inf
helix_ren/helix_stub/external_packet_source_api/inc/CXPSPacket.h
helix_ren/helix_stub/external_packet_source_api/inc/CXPSPacketSink.h
helix_ren/helix_stub/external_packet_source_api/inc/CXPSPktSinkObserver.h
helix_ren/helix_stub/external_packet_source_api/src/CXPSPacket.cpp
helix_ren/helix_stub/external_packet_source_api/src/CXPSPacketSink.cpp
helix_ren/helix_stub/group/bld.inf
helix_ren/helix_stub/helix_features/group/bld.inf
helix_ren/helix_stub/helix_features/inc/helix_features.h
helix_ren/helix_stub/rop_custom_commands_api/group/bld.inf
helix_ren/helix_stub/rop_custom_commands_api/inc/MMFROPCustomCommandConstants.h
helix_ren/helixrfsplugin/group/RfsHelixPlugin.mmp
helix_ren/helixrfsplugin/group/bld.inf
helix_ren/helixrfsplugin/inc/RfsHelixPlugin.h
helix_ren/helixrfsplugin/src/10207471.rss
helix_ren/helixrfsplugin/src/Proxy.cpp
helix_ren/helixrfsplugin/src/RfsHelixPlugin.cpp
layers.sysdef.xml
sysdef_1_4_0.dtd
Binary file helix_ren/cenrep/keys_helix.xls has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/helix_ren/data/backup_registration.xml	Mon Jan 18 20:31:16 2010 +0200
@@ -0,0 +1,19 @@
+<?xml version="1.0" standalone="yes"?>
+
+<!-- Copyright (c) 2008, Nokia. Inc. All Rights Reserved -->
+<!-- Helix backup registration file -->
+
+<backup_registration version="1.0">
+
+    <passive_backup>
+    
+        <include_file name= "C:\Data\R1_Mobile_4_0.cfg" />
+  
+    </passive_backup>
+    
+    <proxy_data_manager sid = "0x10202BE9" />
+
+    <restore requires_reboot = "no"/>
+
+</backup_registration>
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/helix_ren/helix_stub/MMFMetadataEventConfigConstants/group/bld.inf	Mon Jan 18 20:31:16 2010 +0200
@@ -0,0 +1,25 @@
+/*
+* Copyright (c) 2009 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: 
+*
+*/
+
+
+#include <platform_paths.hrh>
+
+PRJ_EXPORTS
+
+../inc/MMFMetadataEventConfigConstants.h     MW_LAYER_PLATFORM_EXPORT_PATH(MMFMetadataEventConfigConstants.h)
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/helix_ren/helix_stub/MMFMetadataEventConfigConstants/inc/MMFMetadataEventConfigConstants.h	Mon Jan 18 20:31:16 2010 +0200
@@ -0,0 +1,47 @@
+/*
+* Copyright (c) 2009 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: 
+*
+*/
+
+
+
+#ifndef __MMFMETADATAEVENTCONFIGCONSTANTS_H
+#define __MMFMETADATAEVENTCONFIGCONSTANTS_H
+#include <e32std.h>
+/**
+ * @publishedAll
+ *
+ * Interface UID of metadata event message for the Controller API.
+ */
+const TUid KUidInterfaceMMFControllerMetadataEventMsg = {0x2001113A};
+
+/**
+ * Event UID to handle metadata event.
+ */
+const TUid KMMFRefreshMetaData = {0x20011139};
+
+/**
+ *  Function constants
+ */
+typedef enum TMMFMetadataEventConfigControllerMessage
+{
+	EMMFGetMetadataEventConfig=0,
+	EMMFSetMetadataEventConfig
+};
+
+#define EMMFDisableMetadataEvent EFalse
+#define EMMFEnableMetadataEvent ETrue
+
+#endif __MMFMETADATAEVENTCONFIGCONSTANTS_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/helix_ren/helix_stub/MMFScalingCustomCommands/group/bld.inf	Mon Jan 18 20:31:16 2010 +0200
@@ -0,0 +1,23 @@
+/*
+* Copyright (c) 2009 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: 
+*
+*/
+
+
+#include <platform_paths.hrh>
+
+PRJ_EXPORTS
+
+../inc/MMFScalingCustomCommandConstants.h     MW_LAYER_PLATFORM_EXPORT_PATH(MMFScalingCustomCommandConstants.h)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/helix_ren/helix_stub/MMFScalingCustomCommands/inc/MMFScalingCustomCommandConstants.h	Mon Jan 18 20:31:16 2010 +0200
@@ -0,0 +1,47 @@
+/*
+* Copyright (c) 2009 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: 
+*
+*/
+
+
+
+#ifndef __MMFSCALINGCUSTOMCOMMANDCONSTANTS_H
+#define __MMFSCALINGCUSTOMCOMMANDCONSTANTS_H
+#include <e32std.h>
+/**
+ * @publishedAll
+ *
+ * Interface UID and Scaling messages for the Controller API.
+ */
+const TUid KUidInterfaceMMFControllerScalingMsg = {0x10283355};
+/**
+ *  Function constants
+ */
+typedef enum
+{
+	EMMFGetScalingType=0,
+	EMMFSetScalingType
+} TMMFScalingControllerMessage;
+
+typedef enum
+{
+	EMMFDefaultScaling=0,
+    EMMFNoScaling,
+    EMMFNatural,
+    EMMFZoom,
+    EMMFStretch
+} TMMFScalingType;
+
+#endif __MMFSCALINGCUSTOMCOMMANDCONSTANTS_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/helix_ren/helix_stub/ThumbnailAPI/group/bld.inf	Mon Jan 18 20:31:16 2010 +0200
@@ -0,0 +1,32 @@
+/*
+* Copyright (c) 2009 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: 
+*
+*/
+
+
+#include <platform_paths.hrh>
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+
+../inc/hxmetadatautil.h     MW_LAYER_PLATFORM_EXPORT_PATH(hxmetadatautil.h)
+../inc/hxmetadatakeys.h     MW_LAYER_PLATFORM_EXPORT_PATH(hxmetadatakeys.h)
+../inc/hxtnutil.h     MW_LAYER_PLATFORM_EXPORT_PATH(hxtnutil.h)
+../inc/hxtnutil_obs.h     MW_LAYER_PLATFORM_EXPORT_PATH(hxtnutil_obs.h)
+
+PRJ_MMPFILES
+hxmetadatautil.mmp	
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/helix_ren/helix_stub/ThumbnailAPI/group/hxmetadatautil.mmp	Mon Jan 18 20:31:16 2010 +0200
@@ -0,0 +1,44 @@
+/*
+* Copyright (c) 2009 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: 
+*
+*/
+
+//
+// Generated from Umakefil, do not edit, do not commit to cvs!
+//
+#include <platform_paths.hrh>
+
+TARGET hxmetadatautil.lib
+TARGETTYPE lib
+
+
+SOURCEPATH ../src
+SOURCE hxmetadatautil.cpp
+SOURCE hxtnutil.cpp
+
+USERINCLUDE ../inc
+
+
+
+MW_LAYER_SYSTEMINCLUDE
+SYSTEMINCLUDE /EPOC32/include/libc
+
+
+
+#if defined(MARM_ARMV5)
+MACRO _EPOC ARM_ADS _ARM_ _RVCT_ VA_LIST_IS_STRUCT
+#elif defined(WINSCW)
+MACRO _EPOC
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/helix_ren/helix_stub/ThumbnailAPI/inc/hxmetadatakeys.h	Mon Jan 18 20:31:16 2010 +0200
@@ -0,0 +1,99 @@
+/*
+* Copyright (c) 2009 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: 
+*
+*/
+
+
+
+
+
+#ifndef _SYMBIAN_METADATA_KEYS_H_
+#define _SYMBIAN_METADATA_KEYS_H_
+
+struct HXMetaDataKeys
+{
+public:
+    enum EHXMetaDataKeyType {
+        EInteger=0,
+        EBoolean,
+        EBuffer,        
+        EString
+    };
+
+    enum EHXMetaDataId {
+        EHXTitle      = 0,
+        EHXCopyright, 
+        EHXAuthor,   
+        EHXGenre,  
+        EHXPerformer,
+        EHXDescription,
+        EHXLiveStream,
+        EHXSeekable, 
+        EHXContentType,  
+        EHXFormat,       
+        EHXQuality,      
+        EHXAbstract,     
+        EHXDuration,         
+        EHXClipBitRate,      
+        EHXFramesPerSecond, 
+        EHXFrameSize,      
+        EHXStreamCount,   
+        EHXVideoBitRate,
+        EHXAudioBitRate,  
+        EHXMimeType,  
+        EHXCodec,
+        EHXIconURI,
+        EHXEPreviewURI,
+        EHXContentURI,
+        EHXContentID,
+        EHXInfoURL 
+    };
+
+    EHXMetaDataId        m_id;
+    const char*          m_pHXKey;
+    EHXMetaDataKeyType   m_eType;
+};
+
+
+#define HXTitle        "Title"      
+#define HXCopyright    "Copyright" 
+#define HXAuthor       "Author"   
+#define HXAbstract     "Abstract" 
+#define HXGenre        "Genre"  
+#define HXPerformer    "Performer"  
+#define HXContentType  "ContentType"
+#define HXLiveStream   "LiveStream"
+#define HXSeekable     "Seekable" 
+
+static const HXMetaDataKeys HXMetaDataKeyTab[] = {
+    {  HXMetaDataKeys::EHXTitle        , HXTitle         ,HXMetaDataKeys::EBuffer  }
+    ,{ HXMetaDataKeys::EHXCopyright    , HXCopyright     ,HXMetaDataKeys::EBuffer  }
+    ,{ HXMetaDataKeys::EHXAuthor       , HXAuthor        ,HXMetaDataKeys::EBuffer  }
+    ,{ HXMetaDataKeys::EHXAbstract     , HXAbstract      ,HXMetaDataKeys::EBuffer  }
+    ,{ HXMetaDataKeys::EHXGenre        , HXGenre         ,HXMetaDataKeys::EBuffer  }
+    ,{ HXMetaDataKeys::EHXPerformer    , HXPerformer     ,HXMetaDataKeys::EBuffer  }
+    ,{ HXMetaDataKeys::EHXContentType  , HXContentType   ,HXMetaDataKeys::EBuffer  }
+    ,{ HXMetaDataKeys::EHXLiveStream   , HXLiveStream    ,HXMetaDataKeys::EInteger }
+    ,{ HXMetaDataKeys::EHXSeekable     , HXSeekable      ,HXMetaDataKeys::EInteger }
+};
+
+static const HXMetaDataKeys HXStreamMetaDataKeyTab[] = {
+    { HXMetaDataKeys::EHXMimeType      , "MimeType"      ,HXMetaDataKeys::EString  }
+    ,{ HXMetaDataKeys::EHXCodec        , "Codec"         ,HXMetaDataKeys::EString  }
+};
+
+
+#endif _SYMBIAN_METADATA_KEYS_H_
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/helix_ren/helix_stub/ThumbnailAPI/inc/hxmetadatautil.h	Mon Jan 18 20:31:16 2010 +0200
@@ -0,0 +1,84 @@
+/*
+* Copyright (c) 2009 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: 
+*
+*/
+
+
+
+#ifndef _SYMBIAN_METADATA_UTIL_IMP_H_
+#define _SYMBIAN_METADATA_UTIL_IMP_H_
+
+// Symbian includes
+#include <f32file.h> // RFile 
+
+#include "hxmetadatakeys.h"
+
+
+
+
+// CHXMetaDataUtility is the entry point for metadata engine.
+// This hides all the implmentation details of the actual metadata engine
+// including Helix specfic details like GlobalManager, Location of the dlls etc.
+
+class CHXMetaDataUtility : public CBase
+{
+public:
+         ~CHXMetaDataUtility();
+        static CHXMetaDataUtility* NewL();
+
+        // Opens the file aFileName for metadata reading.
+        // descriptor aFileName can be deleted after the OpenFileL returns.
+         void OpenFileL( const TDesC& aFileName );
+
+        // Opens the descriptor for metadata reading.
+        // descriptor is required to be present till ResetL is being called.
+         void OpenDesL(const TDesC8& aDes);
+
+        // Opens the descriptor for metadata reading.
+        // File Handle can be closed after the OpenFileL returns.
+         void OpenFileL(RFile& aFile);
+
+        // Resets the utility. Must be called before OpenFileL() or 
+        // OpenDesL() can be called again.
+        // 
+         void ResetL();
+
+        // returns the count of metadata entries.
+         TInt GetMetaDataCount(TUint &aCount);
+
+        // returns the Metadata entry at index a Index. 
+        // pDes is not owned by the caller.
+         TInt GetMetaDataAt(TUint aIndex, 
+                    HXMetaDataKeys::EHXMetaDataId &id, HBufC*& pDes);
+
+private:
+        CHXMetaDataUtility();
+        CHXMetaDataUtility* ConstructL();
+
+        // utility functions
+        void* GetSymbol(RLibrary &rlib, const char *symbolName);
+        void  ConvertMetaDataL();
+
+private:
+        typedef int (*GetSym2Ord)(const char* pSymbolName);   
+        RLibrary                    m_rlib;
+        
+        TBool                       m_bLibLoaded;
+        TBool                       m_bCloseNeeded;
+
+};
+
+#endif _SYMBIAN_METADATA_UTIL_IMP_H_
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/helix_ren/helix_stub/ThumbnailAPI/inc/hxtnutil.h	Mon Jan 18 20:31:16 2010 +0200
@@ -0,0 +1,110 @@
+/*
+* Copyright (c) 2009 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: 
+*
+*/
+
+
+
+#ifndef _SYMBIAN_TE_UTIL_H_
+#define _SYMBIAN_TE_UTIL_H_
+
+// Symbian includes
+#include <f32file.h> // RFile 
+
+#include "hxmetadatakeys.h"
+#include "hxtnutil_obs.h"
+
+
+
+
+// CHXThumbnailUtility is the entry point for TE engine.
+// It enables access to Helix Thumbnail engine for reading
+// the decoded YUV frames for a given file.
+
+class CHXThumbnailUtility : public CBase         
+{
+public:
+    ~CHXThumbnailUtility();
+    
+     /**
+     * Constructs a new CHXThumbnailUtility object. This method
+     * may leave if no resources are available to construct 
+     * a new object.    
+     * 
+     * Possible leave codes:
+     *  - <code>KErrNoMemory</code> if memory allocation fails
+     *     
+     * @param aObserver  observer to notify when info is ready for reading
+     *
+     * @return  pointer to a new CHXThumbnailUtility instance
+     */
+
+    static CHXThumbnailUtility* NewL(MHXThumbnailUtilityImplObserver& aObserver);
+                                                                  
+    /**
+     * OpenFileL reads data from aFileHandle to get information
+     * about the specified video clip file.
+     * Possible leave codes:
+     *  - <code>KErrNoMemory</code> if memory allocation fails
+     *  - <code>KErrNotSupported</code> if can't support this clip for thumbnail.   
+     *  - <code>KErrNotFound</code> if can't find a good thumbnail.   
+     *
+     * @param aFileHandle  File handle of file to get the thumbnail.
+     * @param uStartPositingMS  Starting position in clip time from which to 
+                                read the thumbnail.     
+     */
+
+    void    OpenFileL(const RFile& aFileHandle, TUint uStartPositingMS = 0);
+
+    
+    /**
+     * Cancels frame generation. If no frame is currently being 
+     * generated, the function does nothing. Can be called multiple times
+     * without any side effects.
+     */
+    
+    void CancelThumb();
+    
+
+    /** returns the count of metadata entries.
+      * @param aCount  Number of metadata entries returned.
+      * @return  System wide error code if there is any error.
+     */
+    
+    TInt GetMetaDataCount(TUint &aCount);
+
+    /** returns the metadata entry at the given index
+      * @param aIndex  aIndex of the metadata entry.
+      * @param id returned id or key of the metadata entry.
+      * @param pDes returned value of the metadata entry. It is not 
+                    owned by the caller.
+      * @return  System wide error code if there is any error.             
+     */
+        
+    TInt GetMetaDataAt(TUint aIndex, 
+            HXMetaDataKeys::EHXMetaDataId &id, HBufC*& pDes);
+
+protected:
+    CHXThumbnailUtility();
+
+private:
+    void    ConstructL(MHXThumbnailUtilityImplObserver& aObserver);    
+    
+         
+};
+
+
+#endif _SYMBIAN_TE_UTIL_H_
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/helix_ren/helix_stub/ThumbnailAPI/inc/hxtnutil_obs.h	Mon Jan 18 20:31:16 2010 +0200
@@ -0,0 +1,36 @@
+/*
+* Copyright (c) 2009 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: 
+*
+*/
+
+
+
+
+#ifndef _SYMBIAN_TE_UTIL_OBS_H_
+#define _SYMBIAN_TE_UTIL_OBS_H_
+
+#include <e32std.H>
+#include <FBS.H>
+
+class MHXThumbnailUtilityImplObserver
+{
+    public:
+    virtual void MetaDataReady(TInt aError)  = 0;
+    virtual void PacketReady(TInt aError, void *pData, TUint32 aDataSize) = 0;    
+    virtual void EndOfPackets() = 0;
+};
+
+#endif _SYMBIAN_TE_UTIL_OBS_H_
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/helix_ren/helix_stub/ThumbnailAPI/src/hxmetadatautil.cpp	Mon Jan 18 20:31:16 2010 +0200
@@ -0,0 +1,103 @@
+/*
+* Copyright (c) 2009 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:
+*
+*/
+
+
+// symbian includes
+#include <E32Base.h>
+#include <e32std.h>
+
+// MetaData includes
+
+#include "hxmetadatautil.h"
+#include "hxmetadatakeys.h"
+
+
+
+CHXMetaDataUtility::CHXMetaDataUtility()
+   
+{
+
+//do nothing
+}
+
+CHXMetaDataUtility::~CHXMetaDataUtility()
+{
+    //do nothing
+
+}
+
+CHXMetaDataUtility* CHXMetaDataUtility::NewL()
+{
+    return NULL;
+}
+
+CHXMetaDataUtility* CHXMetaDataUtility::ConstructL()
+{
+    return NULL;
+}
+
+
+void CHXMetaDataUtility::OpenFileL( const TDesC& /*aFileName*/ )
+{
+    User::Leave(KErrNotSupported);
+   
+}
+
+void CHXMetaDataUtility::OpenFileL(RFile& /*aFile*/)
+{
+     User::Leave(KErrNotSupported);
+}
+
+void CHXMetaDataUtility::OpenDesL(const TDesC8& /*aDes*/)
+{
+   
+    User::Leave(KErrNotSupported);
+
+}
+
+void CHXMetaDataUtility::ResetL()
+{
+   User::Leave(KErrNotSupported);
+}
+
+
+TInt CHXMetaDataUtility::GetMetaDataCount(TUint& /*aCount*/)
+{
+     
+   return 0;
+}
+
+
+
+TInt CHXMetaDataUtility::GetMetaDataAt(TUint /*aIndex*/,
+             HXMetaDataKeys::EHXMetaDataId& /*id*/, HBufC*& /*pDes*/)
+{
+   
+   
+   return KErrNotSupported;
+    
+}
+
+
+// utility functions
+
+void* CHXMetaDataUtility::GetSymbol(RLibrary& /* rlib */, const char* /* symbolName*/)
+{
+  
+ return NULL;   
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/helix_ren/helix_stub/ThumbnailAPI/src/hxtnutil.cpp	Mon Jan 18 20:31:16 2010 +0200
@@ -0,0 +1,69 @@
+/*
+* Copyright (c) 2009 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: 
+*
+*/
+
+
+// symbian includes
+#include <E32Base.h>
+#include <e32std.h>
+
+#include "hxtnutil.h"
+
+
+CHXThumbnailUtility::CHXThumbnailUtility()    
+{
+// do nothing
+
+}
+
+CHXThumbnailUtility::~CHXThumbnailUtility()
+{
+    //do nothing   
+}
+
+CHXThumbnailUtility* CHXThumbnailUtility::NewL(MHXThumbnailUtilityImplObserver& /*aObserver*/)
+{
+return NULL;  
+}
+
+void CHXThumbnailUtility::ConstructL(MHXThumbnailUtilityImplObserver& /*aObserver*/)
+{
+     User::Leave(KErrNotSupported);
+}
+
+void CHXThumbnailUtility::OpenFileL(const RFile& /*aFileHandle*/, TUint /*uStartPositonMS*/)
+{
+  User::Leave(KErrNotSupported);
+}
+
+void CHXThumbnailUtility::CancelThumb()
+{
+   //do nothing   
+}
+
+TInt CHXThumbnailUtility::GetMetaDataCount(TUint& /*aCount*/)
+{
+    return 0;              
+}
+
+
+TInt CHXThumbnailUtility::GetMetaDataAt(TUint /*aIndex*/,
+             HXMetaDataKeys::EHXMetaDataId& /*id*/, HBufC*& /*pDes*/)
+{
+  return KErrNotSupported ;
+}
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/helix_ren/helix_stub/external_packet_source_api/group/XPSPacketSink.mmp	Mon Jan 18 20:31:16 2010 +0200
@@ -0,0 +1,43 @@
+/*
+* Copyright (c) 2009 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: 
+*
+*/
+
+#include <platform_paths.hrh>
+
+TARGET XPSPacketSink.lib
+TARGETTYPE lib
+
+ALWAYS_BUILD_AS_ARM
+
+
+SOURCEPATH ../src
+SOURCE CXPSPacketSink.cpp
+SOURCE CXPSPacket.cpp
+
+
+USERINCLUDE ../inc
+
+MW_LAYER_SYSTEMINCLUDE
+SYSTEMINCLUDE /EPOC32/include/libc
+
+
+
+#if defined(MARM_ARMV5)
+MACRO _EPOC ARM_ADS _ARM_ _RVCT_ VA_LIST_IS_STRUCT
+#elif defined(WINSCW)
+MACRO _EPOC
+#endif
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/helix_ren/helix_stub/external_packet_source_api/group/bld.inf	Mon Jan 18 20:31:16 2010 +0200
@@ -0,0 +1,34 @@
+/*
+* Copyright (c) 2009 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: 
+*
+*/
+
+
+#include <platform_paths.hrh>
+
+
+PRJ_PLATFORMS
+DEFAULT
+
+
+PRJ_EXPORTS
+../inc/CXPSPacket.h     MW_LAYER_PLATFORM_EXPORT_PATH(CXPSPacket.h)
+../inc/CXPSPacketSink.h     MW_LAYER_PLATFORM_EXPORT_PATH(CXPSPacketSink.h)
+../inc/CXPSPktSinkObserver.h     MW_LAYER_PLATFORM_EXPORT_PATH(CXPSPktSinkObserver.h)
+
+
+PRJ_MMPFILES
+XPSPacketSink.mmp
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/helix_ren/helix_stub/external_packet_source_api/inc/CXPSPacket.h	Mon Jan 18 20:31:16 2010 +0200
@@ -0,0 +1,52 @@
+/*
+* Copyright (c) 2009 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: 
+*
+*/
+
+
+
+#ifndef __CXPSPACKET_H__
+#define __CXPSPACKET_H__
+
+#include <e32base.h>
+
+class CXPSPacketHdr
+{
+public:
+    TUint32 m_uTimeStamp;
+	TUint16 m_uSeqNo;
+	TUint32 m_uPayloadSize;
+	TUint8  m_uMarker;
+    TUint8  m_uStreamNumber;
+};
+
+class CXPSPacket 
+{
+public:
+    CXPSPacketHdr m_PktHdr;
+    TUint8* m_pPayload;
+public: 
+	CXPSPacket();
+    CXPSPacket(CXPSPacketHdr* pHdr);
+	CXPSPacket(TUint32 _ts, TUint16 _seq, TUint32 _size, TUint8 _sNo, TUint8 _marker);
+
+	~CXPSPacket();
+	TUint8* SetPayload(TUint8* pData) ; 
+};
+
+
+
+
+#endif // end of #ifndef __CXPSPACKET_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/helix_ren/helix_stub/external_packet_source_api/inc/CXPSPacketSink.h	Mon Jan 18 20:31:16 2010 +0200
@@ -0,0 +1,308 @@
+/*
+* Copyright (c) 2009 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: 
+*
+*/
+
+
+
+
+
+#ifndef __CXPSPACKETSUPPLIER_H__
+#define __CXPSPACKETSUPPLIER_H__
+
+
+#include <e32base.h>
+#include "CXPSPacket.h"
+#include "CXPSPktSinkObserver.h"
+
+
+
+
+
+//
+//	Class CXPSPacketSink
+//	eXternal Packet Sink provides the functionality to rendering RTP media data 
+//	along with the MMF controller. MMF Controller is used for control signals and
+//  packet sink is used for RTP media data communication.
+//
+//  CXPSPacketSink provides APIs for media description and for sending packets
+//	to the playback engine.
+//
+//
+class CXPSPacketSink : public CBase
+{
+    
+public:
+    
+    //
+    // Creates packet sink
+    //
+    // Returns NULL on memory error
+    // 
+    static CXPSPacketSink* New();
+    
+    //
+    // Virtual destructor
+    //
+    virtual ~CXPSPacketSink();
+    
+    //
+    // Creates the symbian server with the specified name and 
+    // waits for client connection.
+    //
+    // Parameters:
+    //		ServerName	: Name of the server to be created.
+    //		pObserver	: Observer for packet sink callbacks
+    //
+    // Returns KErrNone on success or system wide error otherwise
+    // 
+    //
+    TInt Init(const TDesC& ServerName, MXPSPktSinkObserver* pObserver);
+    
+    //
+    // AuthenticateClient sets the minimum capability that a client SHALL 
+    // possess for connecting to the server.
+    //
+    // Note: 
+    //		AuthenticateClient SHALL be invoked before the application
+    //		issues a open URL on the MMF controller. OpenURL on controller 
+    //		will result in a connect.
+    //
+    //		Init SHALL be called prior to this API invocation
+    //
+    // Parameters:
+    //		aSecurityPolicy	: Security policy
+    // 
+    // Returns KErrNone on success or system wide error otherwise
+    //
+    //
+    //
+    TInt AuthenticateClient(TSecurityPolicy& aSecurityPolicy);
+    
+    //
+    // Sets the SDP info into the server.
+    // 
+    // Optional xps related sdp attributes
+    //      Session Level Attribute
+    //          XpsStreamSyncOffset: Inter stream synchronization offset value 
+    //                               in msec. This makes sure that XPS packet 
+    //                               reading between streams can be offset only
+    //                               by specified value. Default: 1000 msec
+    //
+    //		DisableVideoClock: Flag to disable clock source for video playback.
+    // 	
+    //      Media Level Attribute
+    //          XpsHdrBufSize:  XPS transport Header buffer size between XPS server
+    //                          & XPS client. Default: 512 bytes
+    //          XpsPyldBufSize: XPS transport payload buffer size between XPS server
+    //                          & XPS client. Default: 4096 bytes
+    //
+    //
+    // Note: 
+    //		SetSessionDescription SHALL be invoked before the application
+    //		issues a open URL on the MMF controller. OpenURL on controller 
+    //		will result in a connect and query for SDP by the client
+    //
+    //		Init SHALL be called prior to this API invocation
+    //    
+    //    The stream number is based on the order of the streams (m=mediatype) in the
+    //    SDP file. Currently only m=audio and m=video would be valid streams and id 
+    //    would be assigned in increasing order starting with zero.
+    //
+    // Parameters:
+    //		aSDPDesc	: Session description protocol message
+    //		unNumStreams: Number of streams
+    // 
+    // Returns KErrNone on success or system wide error otherwise
+    //
+    //
+    //
+    TInt SetSessionDescription(TDesC8& aSDPDesc, TUint unNumStreams);
+    
+    //
+    // Sets the session's output device mode. 
+    // Audio, Video or other streams will use the bit mask to make a decision
+    // on routing to external devices (eg., Bluetooth, TV-Out,etc)
+    //
+    // Note: 
+    //      SetSecureOutputMode is an optional API and SHALL be invoked while
+    //      playing protected content. Default behaviour is allow all ie., 
+    //      no restrictions applied in routing streams to output devices.
+    //
+    //		Init SHALL be called prior to this API invocation
+    // 
+    //      SetSecureOutputMode can be called anytime after Init. If it is called
+    //      after playback started then the Secure output settings will take effect 
+    //      at the presentation time of the first packet enqueued after SetSecureOutputMode
+    //      is called.
+    //
+    // Parameters:
+    //		ulSecureOutBitMask	: 32-Bit mask representing the secure output mode
+    //                            All bits zero will result in BLOCKING of unsecure 
+    //                            output devices. (0x0) (eg. TV-Out will be blocked)
+    //                            All bits one will result in allowing streams to 
+    //                            render to both secure and unsecure output devices. 
+    //                            (0xFFFFFFFF) Rest of the bit mask combinations 
+    //                            are reserved for future use.
+    // 
+    // Returns KErrNone on success or system wide error otherwise
+    //
+    //
+    //
+    TInt SetSecureOutputMode(TUint32 ulSecureOutBitMask);
+    
+    
+    //
+    // Enqueues the packet on the packet sink. 
+    // 
+    // Parameters:
+    //		unStreamId	: Stream identifier
+    //		CXPSPacket	: transferred packet, XPS takes over ownership
+    //
+    // Returns KErrNone on success or system wide error otherwise. 
+    //			Packet overflow scenario will result in KErrOverflow.
+    //		    Application SHALL stop supplying more packets on receiving KErrOverflow. 
+    //			Packet supply can be resumed after the callback from the packet sink.
+    //          MXPSPacketSinkObserver::ResumePacketSupply API will be used to notify. 
+    //
+    //  NOTE:
+    //      KErrOverflow return indicates that the slots are filled out. Current packet 
+    //      has been enqueued and there are no slots for more packets. Packet supply 
+    //      SHALL be resumed after observer callback (MXPSPktSinkObserver::RestorePacketSupply).
+    //      KErrNotReady will be returned if packets are enqueued after overflow and before
+    //      resume callback
+    //			
+    // 
+    TInt Enqueue(TUint unStreamNumber, CXPSPacket* pPacket);
+
+    //
+    // Enqueues the packet on the packet sink. 
+    // 
+    // Parameters:
+    //		unStreamId	: Stream identifier
+    //		aHeaderInfo	: RTP header of the packet
+    //		aPayloadData: RTP payload
+    //
+    // Returns KErrNone on success or system wide error otherwise. 
+    //			Packet overflow scenario will result in KErrOverflow.
+    //		    Application SHALL stop supplying more packets on receiving KErrOverflow. 
+    //			Packet supply can be resumed after the callback from the packet sink.
+    //          MXPSPacketSinkObserver::ResumePacketSupply API will be used to notify. 
+    //
+    //  NOTE:
+    //      KErrOverflow return indicates that the slots are filled out. Current packet 
+    //      has been enqueued and there are no slots for more packets. Packet supply 
+    //      SHALL be resumed after observer callback (MXPSPktSinkObserver::RestorePacketSupply).
+    //      KErrNotReady will be returned if packets are enqueued after overflow and before
+    //      resume callback
+    //			
+    // 
+    TInt Enqueue(TUint unStreamId, const TRtpRecvHeader& aHeaderInfo, const TDesC8& aPayloadData);
+    
+    //
+    // StreamEnd indicates the end of given stream
+    //
+    // Paramaters:
+    //		unStreamId	: Stream identifier
+    //
+    // Returns KErrNone on success or system wide error otherwise
+    //
+    // 
+    TInt StreamEnd(TUint unStreamId);
+    
+    //
+    // Configures the stream's buffering capability. Sets the 
+    // queue to the size specified.
+    //
+    // Note:
+    //		This API is optional. Packet sink will start with default values
+    //
+    // Paramaters:
+    //		unStreamId	: Stream identifier
+    //		unNumSlots	: Maximum number of packets that may be bufferred in
+    //					  packet sink for the given stream
+    //
+    // Returns KErrNone on success or system wide error otherwise
+    //
+    // Warning: It is strongly recommended to use ConfigStreamBySize()
+    // instead of ConfigStream()
+    //
+    TInt ConfigStream(TUint unStreamId, TUint unNumSlots);
+    
+    //
+    // Configures the stream's buffering capability. Sets the 
+    // queue to the heap size specified.
+    //
+    // Note:
+    //		This API is optional. Packet sink will start with default values
+    //      This API could be called during runtime to re-adjust the queue size
+    //
+    // Paramaters:
+    //		unStreamId	        : Stream identifier
+    //		unQueueSiezInBytes	: Maximum number of heap size that may be 
+    //                    bufferred in packet sink for the given stream
+    //
+    // Returns KErrNone on success or system wide error otherwise
+    //
+    TInt ConfigStreamBySize(TUint unStreamId, TUint32 unQueueSiezInBytes);
+
+    //
+    // Resets the packet sink. Releases all the packets stored in packet sink
+    // Does not affect the SDP or intialization attributes. It only cleans up the
+    // bufferred packets on the packet sink
+    //
+    // Returns KErrNone on success or system wide error otherwise
+    //
+    // 
+    TInt Reset();
+
+    //
+    // SetOverflowAutoManage instructs XPS whether to do buffer overflow control or not
+    //
+    // Paramaters:
+    //		bIsOverflowAutoManaged: 
+    //        ETrue: if XPS has no packet for one stream, and Helix is demanding 
+    //               for it, XPS will drop 1 packet from any stream whose queue
+    //               is full. It allows XPS client to push further packets into XPS 
+    //               in the hope that required stream packet could come to XPS 
+    //               eventually. This process repeats till XPS receives deired packet.
+    //        EFalse:XPS dose not do buffer management described above
+    //
+    //      Note: If XPS client has single queue implementation, it is better to
+    //            let XPS handle the overflow situation.
+    //      
+    //      Default: ETrue
+    //
+    // Returns: the previous status of Overflow Management
+    //
+    // 
+    TBool SetOverflowAutoManage(TBool bIsOverflowAutoManaged);
+    
+private:
+    // private member functions
+    
+    CXPSPacketSink();
+    
+    
+    
+private:
+    // private data members
+    
+    
+    
+};
+
+#endif // End of __CXPSPACKETSUPPLIER_H__
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/helix_ren/helix_stub/external_packet_source_api/inc/CXPSPktSinkObserver.h	Mon Jan 18 20:31:16 2010 +0200
@@ -0,0 +1,30 @@
+/*
+* Copyright (c) 2009 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: 
+*
+*/
+
+
+
+#ifndef __CXPSPKTSINKOBSERVER_H__
+#define __CXPSPKTSINKOBSERVER_H__
+
+class MXPSPktSinkObserver
+{
+public:
+    // API to inform for resumption of packet supply
+    virtual void RestorePacketSupply(TUint uStreamId) = 0;
+};
+
+#endif // End of __CXPSPKTSINKOBSERVER_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/helix_ren/helix_stub/external_packet_source_api/src/CXPSPacket.cpp	Mon Jan 18 20:31:16 2010 +0200
@@ -0,0 +1,49 @@
+/*
+* Copyright (c) 2009 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: 
+*
+*/
+
+
+
+#include <stdio.h>
+#include <string.h>
+#include <e32cmn.h>
+
+#include "CXPSPacket.h"
+
+
+CXPSPacket::CXPSPacket(TUint32/* _ts*/, TUint16 /*_seq*/, TUint32 /*_size*/, TUint8 /*_sNo*/, TUint8 /*_marker*/)
+{
+   // do Nothing
+}
+
+CXPSPacket::CXPSPacket(CXPSPacketHdr* /* pHdr*/)
+{
+    // do Nothing
+}
+
+
+TUint8* CXPSPacket::SetPayload(TUint8* /*pBuff*/)
+{
+    
+    
+    return NULL;
+}
+
+CXPSPacket::~CXPSPacket()
+{
+    
+   // Do Nothing
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/helix_ren/helix_stub/external_packet_source_api/src/CXPSPacketSink.cpp	Mon Jan 18 20:31:16 2010 +0200
@@ -0,0 +1,300 @@
+/*
+* Copyright (c) 2009 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: 
+*
+*/
+
+
+
+#include <e32math.h>
+#include <RtpHeader.h>
+
+#include "CXPSPacketSink.h"
+
+#include "CXPSPacket.h"
+
+
+
+//
+// Creates packet sink
+//
+// Returns NULL on memory error
+// 
+CXPSPacketSink* CXPSPacketSink::New()
+{
+    return NULL ;
+}
+
+
+//
+//  Constructor
+//
+CXPSPacketSink::CXPSPacketSink() 
+                    
+{
+   //do nothing
+}
+
+//
+//  Destructor
+//
+CXPSPacketSink::~CXPSPacketSink()
+{
+    // do nothing
+}
+
+
+
+//
+//  Creates the symbian server with the specified name and 
+//  waits for client connection.
+//
+//  Parameters:
+//		ServerName	: Name of the server to be created.
+//		pObserver	: Observer for packet sink callbacks
+//
+//  Returns KErrNone on success or system wide error otherwise
+// 
+//
+TInt CXPSPacketSink::Init(const TDesC& /*ServerName*/, MXPSPktSinkObserver* /*pObserver*/)
+{
+   
+    return KErrNotSupported;
+}
+
+
+//
+// Sets the SDP info into the server.
+//
+// Note: 
+//		SetSessionDescription SHALL be invoked before the application
+//		issues a open URL on the MMF controller. OpenURL on controller 
+//		will result in a connect and query for SDP by the client
+//
+//		Init SHALL be called prior to this API invocation
+//
+// Parameters:
+//		aSDPDesc	: Session description protocol message
+//		unNumStreams: Number of streams
+// 
+// Returns KErrNone on success or system wide error otherwise
+//
+//
+//
+TInt CXPSPacketSink::SetSessionDescription(TDesC8& /*aSDPDesc*/, TUint /* uNumStreams*/)
+{
+    
+    return KErrNotSupported;
+}
+
+//
+// Sets the session's output device mode. 
+// Audio, Video or other streams will use the bit mask to make a decision
+// on routing to external devices (eg., Bluetooth, TV-Out,etc)
+//
+// Note: 
+//      SetSecureOutputMode is an optional API and SHALL be invoked while
+//      playing protected content. Default behaviour is allow all ie., 
+//      no restrictions applied in routing streams to output devices.
+//
+//		SetSecureOutputMode SHALL be invoked before the application
+//		issues a OpenURL on the MMF controller. 
+//
+//		Init SHALL be called prior to this API invocation
+//
+// Parameters:
+//		ulSecureOutBitMask	: 32-Bit mask representing the secure output mode
+//                            All bits zero will result in BLOCKING of unsecure 
+//                            output devices. (0x0) (eg. TV-Out will be blocked)
+//                            All bits one will result in allowing streams to 
+//                            render to both secure and unsecure output devices. 
+//                            (0xFFFFFFFF) Rest of the bit mask combinations 
+//                            are reserved for future use.
+// 
+// Returns KErrNone on success or system wide error otherwise
+//
+//
+//
+TInt CXPSPacketSink::SetSecureOutputMode(TUint32 /* ulSecureOutBitMask */)
+{
+    return KErrNotSupported;
+}
+
+//
+// AuthenticateClient sets the minimum capability that a client SHALL 
+// possess for connecting to the server.
+//
+// Note: 
+//		AuthenticateClient SHALL be invoked before the application
+//		issues a open URL on the MMF controller. OpenURL on controller 
+//		will result in a connect.
+//
+//		Init SHALL be called prior to this API invocation
+//
+// Parameters:
+//		aSDPDesc	: Session description protocol message
+// 
+// Returns KErrNone on success or system wide error otherwise
+//
+//
+//
+TInt CXPSPacketSink::AuthenticateClient(TSecurityPolicy& /* aSecurityPolicy*/)
+{
+    return KErrNotSupported;
+}
+
+    //
+    // Enqueues the packet on the packet sink. 
+    // 
+    // Parameters:
+    //		unStreamId	: Stream identifier
+    //		CXPSPacket	: transferred packet, XPS takes over ownership
+    //
+    // Returns KErrNone on success or system wide error otherwise. 
+    //			Packet overflow scenario will result in KErrOverflow.
+    //		    Application SHALL stop supplying more packets on receiving KErrOverflow. 
+    //			Packet supply can be resumed after the callback from the packet sink.
+    //          MXPSPacketSinkObserver::ResumePacketSupply API will be used to notify. 
+    //
+    //  NOTE:
+    //      KErrOverflow return indicates that the slots are filled out. Current packet 
+    //      has been enqueued and there are no slots for more packets. Packet supply 
+    //      SHALL be resumed after observer callback (MXPSPktSinkObserver::RestorePacketSupply).
+    //      KErrNotReady will be returned if packets are enqueued after overflow and before
+    //      resume callback
+    //			
+    // 
+TInt CXPSPacketSink::Enqueue(TUint /* unStreamNumber*/, CXPSPacket* /*pPacket*/)
+{
+    return KErrNotSupported;
+}
+
+//
+// Enqueues the packet on the packet sink. 
+// 
+// Parameters:
+//		unStreamId	: Stream identifier
+//		aHeaderInfo	: RTP header of the packet
+//		aPayloadData: RTP payload
+//
+// Returns KErrNone on success or system wide error otherwise. 
+//			Packet overflow scenario will result in KErrOverflow.
+//		    Application SHALL stop supplying more packets on receiving KErrOverflow. 
+//			Packet supply can be resumed after the callback from the packet sink.
+//          MXPSPacketSinkObserver::ResumePacketSupply API will be used to notify. 
+//			
+// 
+TInt CXPSPacketSink::Enqueue(TUint /*unStreamId*/, const TRtpRecvHeader& /*aHeaderInfo*/, 
+                             const TDesC8& /*aPayloadData*/)
+{
+    return KErrNotSupported;
+}
+
+//
+// StreamEnd indicates the end of given stream
+//
+// Paramaters:
+//		unStreamId	: Stream identifier
+//
+// Returns KErrNone on success or system wide error otherwise
+//
+// 
+TInt CXPSPacketSink::StreamEnd(TUint /*unStreamNumber*/)
+{
+   return KErrNotSupported;
+}
+
+
+
+//
+// Configures the stream's buffering capability. Sets the 
+// queue to the size specified.
+//
+// Note:
+//		This API is optional. Packet sink will start with default values
+//
+// Paramaters:
+//		unStreamId	: Stream identifier
+//		unNumSlots	: Maximum number of packets that may be bufferred in
+//					  packet sink for the given stream
+//
+// Returns KErrNone on success or system wide error otherwise
+//
+TInt CXPSPacketSink::ConfigStream(TUint /*unStreamId*/, TUint /*unNumSlots*/)
+{
+   return KErrNotSupported;
+}
+
+
+    //
+    // Configures the stream's buffering capability. Sets the 
+    // queue to the heap size specified.
+    //
+    // Note:
+    //		This API is optional. Packet sink will start with default values
+    //      This API could be called during runtime to re-adjust the queue size
+    //
+    // Paramaters:
+    //		unStreamId	        : Stream identifier
+    //		unQueueSiezInBytes	: Maximum number of heap size that may be 
+    //                    bufferred in packet sink for the given stream
+    //
+    // Returns KErrNone on success or system wide error otherwise
+    //
+TInt CXPSPacketSink::ConfigStreamBySize(TUint /*unStreamId*/, TUint32 /*unQueueSiezInBytes*/)
+{
+    return KErrNotSupported;
+}
+
+
+//
+// Resets the packet sink. Releases all the packets stored in packet sink
+// Does not affect the SDP or intialization attributes. It only cleans up the
+// bufferred packets on the packet sink
+//
+// Returns KErrNone on success or system wide error otherwise
+//
+// 
+TInt CXPSPacketSink::Reset()
+{
+    return KErrNotSupported;
+}
+
+    //
+    // SetOverflowAutoManage instructs XPS whether to do buffer overflow control or not
+    //
+    // Paramaters:
+    //		bIsOverflowAutoManaged: 
+    //        ETrue: if XPS has no packet for one stream, and Helix is demanding 
+    //               for it, XPS will drop 1 packet from any stream whose queue
+    //               is full. It allows XPS client to push further packets into XPS 
+    //               in the hope that required stream packet could come to XPS 
+    //               eventually. This process repeats till XPS receives deired packet.
+    //        EFalse:XPS dose not do buffer management described above
+    //
+    //      Note: If XPS client has single queue implementation, it is better to
+    //            let XPS handle the overflow situation.
+    //      
+    //      Default: ETrue
+    //
+    // Returns: the previous status of Overflow Management
+    //
+    // 
+TBool CXPSPacketSink::SetOverflowAutoManage(TBool /*bIsOverflowAutoManaged*/)
+{
+    
+    return ETrue;
+}
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/helix_ren/helix_stub/group/bld.inf	Mon Jan 18 20:31:16 2010 +0200
@@ -0,0 +1,31 @@
+/*
+* Copyright (c) 2009 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: 
+*
+*/
+
+
+#include <platform_paths.hrh>
+
+PRJ_PLATFORMS
+DEFAULT
+
+
+PRJ_MMPFILES
+#include "../external_packet_source_api/group/bld.inf"
+#include "../MMFMetadataEventConfigConstants/group/bld.inf"
+#include "../MMFScalingCustomCommands/group/bld.inf"
+#include "../ThumbnailAPI/group/bld.inf"
+#include "../rop_custom_commands_api/group/bld.inf"
+#include "../helix_features/group/bld.inf"
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/helix_ren/helix_stub/helix_features/group/bld.inf	Mon Jan 18 20:31:16 2010 +0200
@@ -0,0 +1,25 @@
+/*
+* Copyright (c) 2009 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: File that exports the files belonging to Video Decoder Scaling MDF custom interface
+*
+*/
+
+#include <platform_paths.hrh>
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+
+../inc/helix_features.h     MW_LAYER_PLATFORM_EXPORT_PATH(helix_features.h)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/helix_ren/helix_stub/helix_features/inc/helix_features.h	Mon Jan 18 20:31:16 2010 +0200
@@ -0,0 +1,39 @@
+/*
+* Copyright (c) 2009 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 to indicate presence of helix supported features in an S60 release
+*
+*/
+
+#ifndef HELIX_FEATURES_H
+#define HELIX_FEATURES_H
+
+
+#include <bldvariant.hrh>
+
+#define S60_HX_TRICK_PLAY
+#define S60_HX_AVI_FILEFORMAT
+
+// Feature flag to enable Helix NGA Support
+#define S60_HX_GRAPHICS_SURFACE
+
+// Enables Helix modifications to cover devsound convergence changes
+#define S60_HX_CONVERGED_DEVSOUND
+
+
+// Enables Helix Scheduler Pause 
+#define S60_HX_ENABLE_SCHEDULER_PAUSE
+
+#endif      // HELIX_FEATURES_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/helix_ren/helix_stub/rop_custom_commands_api/group/bld.inf	Mon Jan 18 20:31:16 2010 +0200
@@ -0,0 +1,25 @@
+/*
+* Copyright (c) 2009 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: File that exports the files belonging to Video Decoder Scaling MDF custom interface
+*
+*/
+
+#include <platform_paths.hrh>
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+
+../inc/MMFROPCustomCommandConstants.h     MW_LAYER_PUBLIC_EXPORT_PATH(MMFROPCustomCommandConstants.h)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/helix_ren/helix_stub/rop_custom_commands_api/inc/MMFROPCustomCommandConstants.h	Mon Jan 18 20:31:16 2010 +0200
@@ -0,0 +1,63 @@
+/*
+* Copyright (c) 2009 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: Constants defined for Coustom Commands
+*
+*/
+
+#ifndef __MMFROPCUSTOMCOMMANDCONSTANTS_H
+#define __MMFROPCUSTOMCOMMANDCONSTANTS_H
+#include <e32std.h>
+/**
+ * @publishedAll
+ *
+ * Interface UID and messages for the ROP Controller API.
+ */
+const TUid KUidInterfaceMMFROPController = {0x101F855D};
+/**
+ *  Function constants
+ */
+enum TMMFROPControllerMessage
+{
+    EMMFROPControllerGetApplicationConfig,
+    EMMFROPControllerSetApplicationConfig,
+    EMMFROPControllerGetErrorLog,
+    EMMFROPControllerClearErrorLog,
+
+    EMMFROPControllerSetDownloadID,
+
+    EMMFROPControllerSetDownloadComplete,
+    EMMFROPControllerSetDownloadSize
+};
+/**
+ *  Constants describing the config version to query
+ */
+enum TMMFROPControllerConfigVersion
+{
+    KMMFAudioVideoConfigDefault,   // Configuration created on installation
+    KMMFAudioVideoConfigOperator,  // Configuration created on operator setup
+    KMMFAudioVideoConfigUser       // Last Configuration saved by the application
+};
+/**
+ *  Constants describing ErrorLog error classes.
+ *  XXX  This enumeration must match the EErrorLogClass enumeration located
+ *  XXX  in errorlog_sink.h.
+ */
+enum TMMFROPErrorLogClass
+{
+    KMMFROPErrorLogRTSP,           // RTSP error (must be first enum)
+    KMMFROPErrorLogSendEvents,     // Error Send Events
+    KMMFROPErrorLogECXlat,         // Error code translation.
+    KMMFROPErrorLogNumClasses      // Number of error log classes (not a class)
+};
+#endif __MMFROPCUSTOMCOMMANDCONSTANTS_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/helix_ren/helixrfsplugin/group/RfsHelixPlugin.mmp	Mon Jan 18 20:31:16 2010 +0200
@@ -0,0 +1,49 @@
+/*
+* Copyright (c) 2009 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: mmp file for helix rfs plugin.
+*
+*/
+
+#include <platform_paths.hrh>
+
+TARGET      RfsHelixPlugin.dll
+
+TARGETTYPE	PLUGIN
+
+CAPABILITY	CAP_ECOM_PLUGIN
+VENDORID	VID_DEFAULT
+               
+UID 0x10009D8D 0x10207471
+
+SOURCEPATH  ../src
+SOURCE      RfsHelixPlugin.cpp 
+SOURCE      proxy.cpp
+
+START RESOURCE 10207471.RSS
+#ifdef SYMBIAN_SECURE_ECOM 
+  TARGET RfsHelixPlugin.rsc
+#endif 
+END
+
+LANG            SC
+
+USERINCLUDE ../inc
+
+MW_LAYER_SYSTEMINCLUDE
+SYSTEMINCLUDE /epoc32/include/ecom 
+
+LIBRARY euser.lib       // Base library
+LIBRARY ECom.lib	      // ECom library
+LIBRARY efsrv.lib       // File library
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/helix_ren/helixrfsplugin/group/bld.inf	Mon Jan 18 20:31:16 2010 +0200
@@ -0,0 +1,62 @@
+/*
+
+* Copyright (c) 2009 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: bld.inf for helix rfs plugin.
+
+*
+
+*/
+
+
+
+PRJ_PLATFORMS
+
+DEFAULT
+
+
+
+PRJ_MMPFILES
+
+
+
+../group/RfsHelixPlugin.mmp
+
+
+
+
+
+PRJ_EXPORTS
+
+
+
+
+
+PRJ_TESTMMPFILES
+
+
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/helix_ren/helixrfsplugin/inc/RfsHelixPlugin.h	Mon Jan 18 20:31:16 2010 +0200
@@ -0,0 +1,95 @@
+/*
+* Copyright (c) 2005 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: 
+
+*  
+
+*
+*/
+
+
+
+
+
+
+#ifndef RFSHELIXPLUGIN_H
+
+#define RFSHELIXPLUGIN_H
+
+
+
+
+
+#include <e32base.h>
+
+#include <f32file.h>
+
+#include <rfsPlugin.h>
+
+
+
+
+
+
+
+class CRfsHelixPlugin: public CRFSPlugin
+
+    {
+
+public:
+
+
+
+    
+
+    static CRfsHelixPlugin* NewL(TAny* aInitParams);
+
+    virtual ~CRfsHelixPlugin();
+
+    void RestoreFactorySettingsL( const TRfsReason aType );
+
+    void GetScriptL( const TRfsReason aType, TDes& aPath );
+
+    void ExecuteCustomCommandL( const TRfsReason aType, TDesC& aCommand );
+
+private:
+
+
+
+    CRfsHelixPlugin();
+
+
+
+	CRfsHelixPlugin(TAny* aInitParams);
+
+
+
+
+
+    void ConstructL();
+
+
+
+    };
+
+
+
+
+
+
+
+#endif      // RFSHELIXPLUGIN_H
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/helix_ren/helixrfsplugin/src/10207471.rss	Mon Jan 18 20:31:16 2010 +0200
@@ -0,0 +1,92 @@
+/*
+
+* Copyright (c) 2009 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: rss file for helix rfs plugin
+
+*
+
+*/
+
+
+
+#include "RegistryInfo.rh"
+
+
+
+// Declares info for two implementations
+
+RESOURCE REGISTRY_INFO theInfo
+
+	{
+
+	// UID for the DLL
+
+	dll_uid = 0x10207471;
+
+	// Declare array of interface info
+
+	interfaces = 
+
+		{
+
+		INTERFACE_INFO
+
+			{
+
+			// UID of interface that is implemented
+
+			interface_uid = 0x102073BB;
+
+			implementations = 
+
+				{
+
+				IMPLEMENTATION_INFO
+
+					{
+
+					implementation_uid = 0x10207472;
+
+					version_no = 1;
+
+					display_name = "RFS ROP Plugin";
+
+					default_data = "IN"; // N = Normal RFS, D = Deep RFS, I = Init RFS (FirstBoot RFS)
+
+					opaque_data = "";
+
+					}
+
+				};
+
+			}
+
+		};
+
+	}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/helix_ren/helixrfsplugin/src/Proxy.cpp	Mon Jan 18 20:31:16 2010 +0200
@@ -0,0 +1,61 @@
+/*
+* Copyright (c) 2005 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: 
+
+*     This class export ECom interface implementations.
+
+*
+*/
+
+
+
+
+#include <e32std.h>
+
+#include <ImplementationProxy.h>
+
+
+
+#include "RfsHelixPlugin.h"
+
+
+
+// Map the interface UIDs to implementation factory functions
+
+const TImplementationProxy ImplementationTable[] =
+
+    {
+
+    	IMPLEMENTATION_PROXY_ENTRY(0x10207472,	CRfsHelixPlugin::NewL)
+
+    };
+
+
+
+// Exported proxy for instantiation method resolution
+
+EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
+
+    {
+
+    aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy);
+
+
+
+    return ImplementationTable;
+
+    }
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/helix_ren/helixrfsplugin/src/RfsHelixPlugin.cpp	Mon Jan 18 20:31:16 2010 +0200
@@ -0,0 +1,128 @@
+/*
+* Copyright (c) 2005 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: 
+*
+*
+*/
+
+
+
+
+#include "RfsHelixPlugin.h"
+
+
+CRfsHelixPlugin::CRfsHelixPlugin()
+    {
+    }
+
+CRfsHelixPlugin::CRfsHelixPlugin(TAny* /*aInitParams*/)
+    {
+    }
+
+
+CRfsHelixPlugin::~CRfsHelixPlugin()
+    {
+    }
+
+
+// ---------------------------------------------------------
+// NewL
+// ---------------------------------------------------------
+//
+CRfsHelixPlugin* CRfsHelixPlugin::NewL(TAny* aInitParams)
+    {
+    #ifdef _DEBUG
+        RDebug::Print(_L("CRfsHelixPlugin::NewL()"));
+    #endif
+    CRfsHelixPlugin* self = new (ELeave) CRfsHelixPlugin(aInitParams);
+    CleanupStack::PushL(self);
+    self->ConstructL();
+    CleanupStack::Pop();
+    return self;
+    }
+
+// ---------------------------------------------------------
+// ConstructL
+// ---------------------------------------------------------
+//
+
+void CRfsHelixPlugin::ConstructL()
+    {
+    #ifdef _DEBUG
+        RDebug::Print(_L("CRfsHelixPlugin::ConstructL()"));
+    #endif
+    }
+
+// ---------------------------------------------------------
+// RestoreFactorySettingsL
+// ---------------------------------------------------------
+//
+
+#ifdef _DEBUG
+void CRfsHelixPlugin::RestoreFactorySettingsL( const TRfsReason aType )
+#else
+void CRfsHelixPlugin::RestoreFactorySettingsL( const TRfsReason /* aType */)
+#endif
+    {
+    #ifdef _DEBUG
+        RDebug::Print(_L("CRfsHelixPlugin::RestoreFactorySettingsL(%d)"), aType);
+    #endif
+    RFs fsrv;
+
+    _LIT(KRNUserConfigNameAndPath,     "c:\\data\\R1_Mobile_4_0.cfg");
+    _LIT(KRNPluginArchiveNameAndPath,  "c:\\data\\plugin_archive.txt");
+	_LIT(KRNMDEngineNameAndPath,  "c:\\data\\HXMDEngine_3_2.cfg");
+	_LIT(KRNMetadataArchiveNameAndPath,  "c:\\data\\hxmetadata_archive.txt");
+	_LIT(KRNThumbnailArchiveNameAndPath,  "c:\\data\\hxthumbnail_archive.txt");
+	_LIT(KRNTNEngineNameAndPath,  "c:\\data\\HXTNEngine_3_2.cfg");
+	_LIT(KRNMdfPluginArchiveNameAndPath,  "c:\\data\\MdfPluginArchive.txt");
+
+    TInt err = KErrNone;
+
+    CleanupClosePushL( fsrv );
+
+    err = fsrv.Connect();
+    if ( err != KErrNone )
+        {
+        User::Leave( err );
+        }
+    // Delete all the cfg-files.
+    //
+    fsrv.Delete(KRNUserConfigNameAndPath);
+    fsrv.Delete(KRNPluginArchiveNameAndPath);
+	fsrv.Delete(KRNMDEngineNameAndPath);
+	fsrv.Delete(KRNMetadataArchiveNameAndPath);
+	fsrv.Delete(KRNThumbnailArchiveNameAndPath);
+	fsrv.Delete(KRNTNEngineNameAndPath);
+	fsrv.Delete(KRNMdfPluginArchiveNameAndPath);
+
+    CleanupStack::PopAndDestroy( 1 );
+    }
+
+
+
+void CRfsHelixPlugin::GetScriptL( const TRfsReason /*aType*/, TDes& /*aPath*/ )
+    {
+
+    }
+
+
+
+void CRfsHelixPlugin::ExecuteCustomCommandL( const TRfsReason /*aType*/,
+                                           TDesC& /*aCommand*/ )
+    {
+
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/layers.sysdef.xml	Mon Jan 18 20:31:16 2010 +0200
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<!DOCTYPE SystemDefinition SYSTEM "sysdef_1_4_0.dtd" [
+  <!ENTITY layer_real_source_path "sf/mw/helix" >
+]> 
+
+<SystemDefinition name="avdomain" schema="1.4.0">
+	<systemModel>
+  <!-- Common file for prebuild layers-->
+  	<layer name="mw_layer">
+			<module name="helix">
+				<unit unitID="helix" mrp="" bldFile="&layer_real_source_path;/group" filter="!sf_build" name="helix" />
+				<unit unitID="helix_src" mrp="" bldFile="&layer_real_source_path;/helix_ren/src/group" filter="!sf_build" name="helix_src" />
+				<unit unitID="ng_helix_src" mrp="" bldFile="&layer_real_source_path;/helix_ren/ng_helix/src/group" filter="!sf_build" name="ng_helix_src" />
+				<unit unitID="helix_stub" mrp="" bldFile="&layer_real_source_path;/helix_ren/helix_stub/group" filter="sf_build" name="helix_stub" />
+			</module>
+    </layer>
+
+   	<layer name="api_test_layer">
+			<module name="helix_tsrc">
+				<unit unitID="helix_tsrc" name="helix_tsrc" bldFile="&layer_real_source_path;/tsrc/group" mrp="" />
+			</module>
+    </layer>
+
+   	<layer name="module_test_layer">
+			<module name="helix_ren_tsrc">
+				<unit unitID="helix_ren_tsrc" name="helix_ren_tsrc" bldFile="&layer_real_source_path;/helix_ren/tsrc/helixstiftest/group" mrp="" />
+			</module>
+    </layer>
+
+   	<layer name="pref_test_layer">
+			<module name="helix_tsrc_group">
+				<unit unitID="helix_tsrc_group" name="helix_tsrc_group" bldFile="&layer_real_source_path;/tsrc/group" mrp="" filter="TA_HELIX" />
+			</module>
+			<module name="helix_ren_tsrc_group">
+				<unit unitID="helix_ren_tsrc_group" name="helix_ren_tsrc_group" bldFile="&layer_real_source_path;/helix_ren/tsrc/helixstiftest/group" mrp="" filter="TA_HELIX_REN" />
+			</module>
+    </layer>
+
+  	<layer name="mw_helix_layer">
+			<module name="helix_group">
+				<unit unitID="helix_group" mrp="" bldFile="&layer_real_source_path;/group" filter="!sf_build" name="helix_group" />
+				<unit unitID="helix_src_group" mrp="" bldFile="&layer_real_source_path;/helix_ren/src/group" filter="!sf_build" name="helix_src_group" />
+				<unit unitID="ng_helix_src_group" mrp="" bldFile="&layer_real_source_path;/helix_ren/ng_helix/src/group" filter="!sf_build" name="ng_helix_src_group" />
+				<unit unitID="helix_stub_group" mrp="" bldFile="&layer_real_source_path;/helix_ren/helix_stub/group" filter="sf_build" name="helix_stub_group" /> 
+			</module>
+    </layer>
+
+    
+  </systemModel>
+</SystemDefinition>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sysdef_1_4_0.dtd	Mon Jan 18 20:31:16 2010 +0200
@@ -0,0 +1,86 @@
+ <!ELEMENT SystemDefinition (systemModel?, build?)>
+ <!ATTLIST SystemDefinition
+  name CDATA #REQUIRED
+  schema CDATA #REQUIRED>
+ <!ELEMENT systemModel (layer+)>
+ <!ELEMENT layer (logicalset* | module*)*>
+ <!ATTLIST layer
+  name CDATA #REQUIRED
+  levels CDATA #IMPLIED
+  span CDATA #IMPLIED>
+ <!ELEMENT logicalset (logicalsubset* | module* | unit* | package* | prebuilt*)*>
+ <!ATTLIST logicalset name CDATA #REQUIRED>
+ <!ELEMENT logicalsubset (module* | unit* | package* | prebuilt*)*>
+ <!ATTLIST logicalsubset name CDATA #REQUIRED>
+ <!ELEMENT module (component* | unit* | package* | prebuilt*)*>
+ <!ATTLIST module
+  name CDATA #REQUIRED
+  level CDATA #IMPLIED>
+ <!ELEMENT component (unit* | package* | prebuilt*)*>
+ <!ATTLIST component name CDATA #REQUIRED>
+ <!ELEMENT unit EMPTY>
+ <!ATTLIST unit
+  unitID ID #REQUIRED
+  name CDATA #REQUIRED
+  mrp CDATA #REQUIRED
+  filter CDATA #IMPLIED
+  bldFile CDATA #REQUIRED
+  priority CDATA #IMPLIED
+  contract CDATA #IMPLIED>
+ <!ELEMENT package EMPTY>
+ <!ATTLIST package
+  name CDATA #REQUIRED
+  mrp CDATA #REQUIRED
+  filter CDATA #IMPLIED
+  contract CDATA #IMPLIED>
+ <!ELEMENT prebuilt EMPTY>
+ <!ATTLIST prebuilt
+  name CDATA #REQUIRED
+  version CDATA #REQUIRED
+  late (Y|N) #IMPLIED
+  filter CDATA #IMPLIED
+  contract CDATA #IMPLIED>
+ <!ELEMENT build (option* | target+ | targetList+ | unitList+ | configuration+)*>
+ <!ELEMENT unitList (unitRef+)>
+ <!ATTLIST unitList
+  name ID #REQUIRED
+  description CDATA #REQUIRED>
+ <!ELEMENT unitRef EMPTY>
+ <!ATTLIST unitRef unit IDREF #REQUIRED>
+ <!ELEMENT targetList EMPTY>
+ <!ATTLIST targetList
+  name ID #REQUIRED
+  description CDATA #REQUIRED
+  target IDREFS #REQUIRED>
+ <!ELEMENT target EMPTY>
+ <!ATTLIST target
+  name ID #REQUIRED
+  abldTarget CDATA #REQUIRED
+  description CDATA #REQUIRED>
+ <!ELEMENT option EMPTY>
+ <!ATTLIST option
+  name ID #REQUIRED
+  abldOption CDATA #REQUIRED
+  description CDATA #REQUIRED
+  enable (Y | N | y | n) #REQUIRED>
+ <!ELEMENT configuration (unitListRef+ | layerRef+ | task+)*>
+ <!ATTLIST configuration
+  name ID #REQUIRED
+  description CDATA #REQUIRED
+  filter CDATA #REQUIRED>
+ <!ELEMENT task ( unitListRef* , (buildLayer | specialInstructions))>
+ <!ELEMENT unitListRef EMPTY>
+ <!ATTLIST unitListRef unitList IDREF #REQUIRED>
+ <!ELEMENT layerRef EMPTY>
+ <!ATTLIST layerRef layerName CDATA #REQUIRED>
+ <!ELEMENT buildLayer EMPTY>
+ <!ATTLIST buildLayer
+  command CDATA #REQUIRED
+  targetList IDREFS #IMPLIED
+  unitParallel (Y | N | y | n) #REQUIRED
+  targetParallel (Y | N | y | n) #IMPLIED>
+ <!ELEMENT specialInstructions EMPTY>
+ <!ATTLIST specialInstructions
+  name CDATA #REQUIRED
+  cwd CDATA #REQUIRED
+  command CDATA #REQUIRED>