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>