"Nokia submits this code under the terms of a commercial contribution agreement 
with RealNetworks, and I am authorized to contribute this code under said 
agreement."

Modified by:  yury.ramanov...@nokia.com

Reviewed by:

Date: 08/03/2009

Project: SymbianMmf_wm

ErrorId: N/A

Synopsis:  helix xSymbian header changes

Overview:  xSymbian changes include 1) certain symbian headers splitting and 2) 
symbian header export structure  change according to SW layers

Solution:  1) helix changes due to symbian header splitting are done under 
SYMBIAN_ENABLE_SPLIT_HEADERS flag. Basically, Symbian created new headers for 
certain internal classes. Currently this flag is not enabled in the 
environment. The testing of this change was done with this flag enabled.

2) Some xSymbian header files include other headers from sub-directories 
without the sub-dir information in the include statement. This forces all 
clients of the header to add the needed sub-dirs to their own system include 
statements. The goal is to force all the clients to use only system include 
macros according to their respective SW layer ( like MW_LAYER_SYSTEMINCLUDE )  
from platform_path.hrh, where any macro there always has /epoc32/include dir.

This change is to remove SYSTEMINCLUDE  statements from helix .mmp files and 
from system include path list for non-mmp builds whenever possible and
 add subdirs where needed to include statements to compensate for that.
Right now:
SYSTEMINCLUDE /EPOC32/INCLUDE/mmf
SYSTEMINCLUDE /EPOC32/INCLUDE/mmf/server
Are removed from all .mmp files and
SYSTEMINCLUDE /EPOC32/INCLUDE/mmf/devvideo are removed from mdfvidrender.mmp 
file

SYSTEMINCLUDE /EPOC32/INCLUDE/libc is left as an exception to the rule.
SYSTEMINCLUDE /EPOC32/INCLUDE/mmf/common cannot be removed at present because 
hxmmfbasectrl.h includes CustomInterfaceBuilder.h and 
CustomInterfaceCustomCommandParser.h which are themselves need to be modified 
as part of xSymbian change. Once CustomInterfaceBuilder.h and 
CustomInterfaceCustomCommandParser.h are corrected their includes, then helix 
can remove SYSTEMINCLUDE /EPOC32/INCLUDE/mmf/common.

The associated .cf files changes are done under 
HELIX_CONFIG_SYMBIAN_HEADER_STRUCTURE_CHANGE flag, which is only enabled in 
helix-client-s60-52-common.pfi.


Files Added:
None.

Files Modified:
/ribosome/build/umakepf/helix-client-s60-52-common.pfi
/ribosome/build/umakecf/symbian-armv5.cf
/ribosome/build/umakecf/symbian-emulator-winscw.cf
/ribosome/build/umakecf/symbian-plat-sec.cf

/audio/device/pub/platform/symbian/CHXAudioOutputConfigUtil.h
/audio/device/pub/platform/symbian/CHXBaseAudioSession.h
/audio/device/pub/platform/symbian/CHXBaseDevSoundObserver.h
/audio/device/pub/platform/symbian/CHXMMFDevSound.h
/clientapps/symbianMmf/hxmmfplayctrl.h
/clientapps/symbianMmf/common/hxmmfbasectrl.h
/common/fileio/platform/symbian/HxMMDataSource.cpp
/common/fileio/pub/platform/symbian/asynchronousmultireader.h
/common/fileio/pub/platform/symbian/hxdatasourcemmfclip.h
/common/netio/pub/platform/symbian/hxsymbiansocket.h
/datatype/mdf/audio/dsp/mdfaudfmt.h
/datatype/mdf/audio/dsp/mdfdevsound.h
/datatype/mdf/video/renderer/umakedll
/datatype/mdf/video/renderer/umakelib
/datatype/mdf/video/renderer/mdfdevice/client/CMDFDevVideoClient.h


Image Size and Heap Use impact: minor

Module Release testing (STIF) :  MRT subset ongoing.

Test case(s) Added  :  No.

Memory leak check performed : Yes. No new leaks introduced

Platforms and Profiles Build Verified: helix-client-s60-50-mmf-mdf-dsp,
helix-client-s60-50-mmf-mdf-arm

Platforms and Profiles Functionality verified: armv5, winscw

Branch: 210CayS, HEAD

? xSymbian_build_diff.txt
? xSymbian_build_diff_1.txt
? xSymbian_build_diff_2.txt
? bif-cvs/helix
Index: umakecf/symbian-armv5.cf
===================================================================
RCS file: /cvsroot/ribosome/build/umakecf/symbian-armv5.cf,v
retrieving revision 1.23
diff -u -w -r1.23 symbian-armv5.cf
--- umakecf/symbian-armv5.cf    28 Apr 2009 15:21:51 -0000      1.23
+++ umakecf/symbian-armv5.cf    3 Aug 2009 15:01:15 -0000
@@ -155,10 +155,14 @@
 ## the basic system includes. 
 
 def GetArmv5SystemIncludes2():
+    if not project.IsDefined('HELIX_CONFIG_SYMBIAN_HEADER_STRUCTURE_CHANGE'):
     incs = [ 'EPOC32\INCLUDE\mmf',
              'EPOC32\INCLUDE\mmf\common',
              'EPOC32\INCLUDE\mmf\server' ]
              
+    else:
+        incs = [ 'EPOC32\INCLUDE\mmf\common' ]
+             
     return incs
 
 
Index: umakecf/symbian-emulator-winscw.cf
===================================================================
RCS file: /cvsroot/ribosome/build/umakecf/symbian-emulator-winscw.cf,v
retrieving revision 1.24
diff -u -w -r1.24 symbian-emulator-winscw.cf
--- umakecf/symbian-emulator-winscw.cf  20 May 2009 16:22:49 -0000      1.24
+++ umakecf/symbian-emulator-winscw.cf  3 Aug 2009 15:01:15 -0000
@@ -149,9 +149,12 @@
 ## the basic system includes.
 
 def GetWinscwSystemIncludes2():
+    if not project.IsDefined('HELIX_CONFIG_SYMBIAN_HEADER_STRUCTURE_CHANGE'):
     incs = [ 'EPOC32\INCLUDE\mmf',
              'EPOC32\INCLUDE\mmf\common',
              'EPOC32\INCLUDE\mmf\server' ] 
+    else:           
+        incs = [ 'EPOC32\INCLUDE\mmf\common' ]
     
     return incs   
 
Index: umakecf/symbian-plat-sec.cf
===================================================================
RCS file: /cvsroot/ribosome/build/umakecf/symbian-plat-sec.cf,v
retrieving revision 1.14
diff -u -w -r1.14 symbian-plat-sec.cf
--- umakecf/symbian-plat-sec.cf 29 Jul 2009 12:54:01 -0000      1.14
+++ umakecf/symbian-plat-sec.cf 3 Aug 2009 15:01:15 -0000
@@ -254,6 +254,7 @@
     def get_platform_includes(self):
       # Generate a set of system include path
       # Delete the path from the set which does not exist
+      if not 
project.IsDefined('HELIX_CONFIG_SYMBIAN_HEADER_STRUCTURE_CHANGE'):   
       incs = [ 'EPOC32\INCLUDE',
              'EPOC32\INCLUDE\oem',
              'EPOC32\INCLUDE\internal',
@@ -262,6 +263,13 @@
              'EPOC32\INCLUDE\mmf\server',
              'EPOC32\INCLUDE\VARIANT',
              'EPOC32\INCLUDE\RVCT2_2' ]
+      else:
+          incs = [ 'EPOC32\INCLUDE',
+                   'EPOC32\INCLUDE\oem',
+                   'EPOC32\INCLUDE\internal', 
+                   'EPOC32\INCLUDE\mmf\common',
+                   'EPOC32\INCLUDE\VARIANT', 
+                   'EPOC32\INCLUDE\RVCT2_2' ]     
 
       if project.IsDefined('HELIX_CONFIG_INC_HIERARCHY_CHANGE'):
         incs.append('epoc32\include\middleware')
Index: umakepf/helix-client-s60-52-common.pfi
===================================================================
RCS file: /cvsroot/ribosome/build/umakepf/helix-client-s60-52-common.pfi,v
retrieving revision 1.6
diff -u -w -r1.6 helix-client-s60-52-common.pfi
--- umakepf/helix-client-s60-52-common.pfi      23 Jul 2009 14:43:53 -0000      
1.6
+++ umakepf/helix-client-s60-52-common.pfi      3 Aug 2009 15:01:16 -0000
@@ -63,3 +63,4 @@
 project.AddDefines('HELIX_FEATURE_SYMBIAN_GRAPHICS_SURFACES')
 project.AddDefines('HELIX_FEATURE_HTTP_MEMCACHE')
 #project.AddDefines('HELIX_FEATURE_SYMBIAN_ADVANCED_SECURE_OUTPUT')
+project.AddDefines('HELIX_CONFIG_SYMBIAN_HEADER_STRUCTURE_CHANGE')
Index: audio/device/pub/platform/symbian/CHXAudioOutputConfigUtil.h
===================================================================
RCS file: 
/cvsroot/audio/device/pub/platform/symbian/CHXAudioOutputConfigUtil.h,v
retrieving revision 1.1
diff -u -w -r1.1 CHXAudioOutputConfigUtil.h
--- audio/device/pub/platform/symbian/CHXAudioOutputConfigUtil.h        23 Jul 
2009 14:32:55 -0000      1.1
+++ audio/device/pub/platform/symbian/CHXAudioOutputConfigUtil.h        31 Jul 
2009 17:38:17 -0000
@@ -61,7 +61,7 @@
 #ifndef _AUDIO_OUTPUT_CONFIG_UTIL_H_
 #define _AUDIO_OUTPUT_CONFIG_UTIL_H_
 
-#include <SoundDevice.h>
+#include <mmf/server/sounddevice.h>
 
 #if defined(HELIX_FEATURE_SYMBIAN_ADVANCED_SECURE_OUTPUT)
 #include <e32cmn.h> // RArray
Index: audio/device/pub/platform/symbian/CHXBaseAudioSession.h
===================================================================
RCS file: /cvsroot/audio/device/pub/platform/symbian/CHXBaseAudioSession.h,v
retrieving revision 1.1.2.3
diff -u -w -r1.1.2.3 CHXBaseAudioSession.h
--- audio/device/pub/platform/symbian/CHXBaseAudioSession.h     23 Jul 2009 
14:53:01 -0000      1.1.2.3
+++ audio/device/pub/platform/symbian/CHXBaseAudioSession.h     31 Jul 2009 
17:38:17 -0000
@@ -64,7 +64,7 @@
 #include <e32base.h>
 #include <e32des8.h>
 #include <stdio.h>
-#include <SoundDevice.h>
+#include <mmf/server/sounddevice.h>
 #include "CHXBaseDevSoundObserver.h"
 #include "CHXSymbianAudioDevice.h"
 #include "CHXAudioOutputConfigUtil.h"
Index: audio/device/pub/platform/symbian/CHXBaseDevSoundObserver.h
===================================================================
RCS file: /cvsroot/audio/device/pub/platform/symbian/CHXBaseDevSoundObserver.h,v
retrieving revision 1.1
diff -u -w -r1.1 CHXBaseDevSoundObserver.h
--- audio/device/pub/platform/symbian/CHXBaseDevSoundObserver.h 3 Apr 2007 
18:21:57 -0000       1.1
+++ audio/device/pub/platform/symbian/CHXBaseDevSoundObserver.h 31 Jul 2009 
17:38:17 -0000
@@ -52,7 +52,7 @@
 #define _BASE_AUDIO_OBSERVER_H_
 
 #include <e32base.h>
-#include <SoundDevice.h>
+#include <mmf/server/sounddevice.h>
 
 #include "hxtlogutil.h"
 
Index: audio/device/pub/platform/symbian/CHXMMFDevSound.h
===================================================================
RCS file: /cvsroot/audio/device/pub/platform/symbian/CHXMMFDevSound.h,v
retrieving revision 1.1.2.1
diff -u -w -r1.1.2.1 CHXMMFDevSound.h
--- audio/device/pub/platform/symbian/CHXMMFDevSound.h  13 Apr 2007 23:27:28 
-0000      1.1.2.1
+++ audio/device/pub/platform/symbian/CHXMMFDevSound.h  31 Jul 2009 17:38:17 
-0000
@@ -64,7 +64,7 @@
 #define __HX_MMF_DEVSOUND_H__
 
 #include <e32base.h>
-#include <SoundDevice.h>
+#include <mmf/server/sounddevice.h>
 
 #include "CHXbaseDevSoundobserver.h"
 
Index: clientapps/symbianMmf/hxmmfplayctrl.h
===================================================================
RCS file: /cvsroot/clientapps/symbianMmf/hxmmfplayctrl.h,v
retrieving revision 1.3.2.9
diff -u -w -r1.3.2.9 hxmmfplayctrl.h
--- clientapps/symbianMmf/hxmmfplayctrl.h       13 Mar 2009 19:01:55 -0000      
1.3.2.9
+++ clientapps/symbianMmf/hxmmfplayctrl.h       31 Jul 2009 17:38:41 -0000
@@ -70,7 +70,13 @@
 #include "chxliteprefs.h"
 #include "hxmmfstatectrlobs.h"
 #ifdef HELIX_FEATURE_S60_TRICKPLAY
-#include <mmf/common/Mmfvideo.h>
+
+#ifdef SYMBIAN_ENABLE_SPLIT_HEADERS
+#include <mmf/common/mmfvideoenums.h> //TVideoPlayRateCapabilities
+#else
+#include <mmf/common/mmfvideo.h>
+#endif
+
 #endif
 
 //  SetDllAccessPath exported function from client core dll
Index: clientapps/symbianMmf/common/hxmmfbasectrl.h
===================================================================
RCS file: /cvsroot/clientapps/symbianMmf/common/hxmmfbasectrl.h,v
retrieving revision 1.1.2.20
diff -u -w -r1.1.2.20 hxmmfbasectrl.h
--- clientapps/symbianMmf/common/hxmmfbasectrl.h        23 Jul 2009 14:57:10 
-0000      1.1.2.20
+++ clientapps/symbianMmf/common/hxmmfbasectrl.h        31 Jul 2009 17:38:41 
-0000
@@ -53,8 +53,15 @@
 
 #include <mmf/common/Mmfcontroller.h>
 #include <mmf/common/Mmfaudio.h>
-#include <mmf/common/Mmfstandardcustomcommands.h>
 #include <mmf/common/Mmfvideo.h>
+
+#ifdef SYMBIAN_ENABLE_SPLIT_HEADERS
+#include <mmf/common/mmfstandardcustomcommandsenums.h>
+#include <mmf/common/mmfstandardcustomcommandsimpl.h>
+#else
+#include <mmf/common/mmfstandardcustomcommands.h>
+#endif
+
 #include <mmf/server/MmfFile.h>
 #include <mmf/server/MmfDes.h>
 #include <mmf/server/MmfUrl.h>

Index: common/fileio/platform/symbian/HxMMDataSource.cpp
===================================================================
RCS file: /cvsroot/common/fileio/platform/symbian/HxMMDataSource.cpp,v
retrieving revision 1.1.2.6
diff -u -w -r1.1.2.6 HxMMDataSource.cpp
--- common/fileio/platform/symbian/HxMMDataSource.cpp   14 Mar 2008 18:15:34 
-0000      1.1.2.6
+++ common/fileio/platform/symbian/HxMMDataSource.cpp   31 Jul 2009 17:38:44 
-0000
@@ -48,7 +48,7 @@
 
 #include <MultimediaDataSource.h>
 #include <MultimediaDataSourceEvents.h>
-#include <mmfdatasourcesink.hrh>
+#include <mmf/server/mmfdatasourcesink.hrh>
 #include <MultimediaDataSourceFactory.h>
 #include <DataSourceConfigIntfc.h>
 
Index: common/fileio/pub/platform/symbian/asynchronousmultireader.h
===================================================================
RCS file: 
/cvsroot/common/fileio/pub/platform/symbian/asynchronousmultireader.h,v
retrieving revision 1.1.2.2
diff -u -w -r1.1.2.2 asynchronousmultireader.h
--- common/fileio/pub/platform/symbian/asynchronousmultireader.h        6 Feb 
2008 20:21:32 -0000       1.1.2.2
+++ common/fileio/pub/platform/symbian/asynchronousmultireader.h        31 Jul 
2009 17:38:44 -0000
@@ -50,8 +50,8 @@
 #ifndef _ASYNCHRONOUSMULTIREADER_H_
 #define _ASYNCHRONOUSMULTIREADER_H_
 
-#include <mmfclip.h>                //CMMFClip
-#include <mmfdatasink.h>            //MDataSink
+#include <mmf/server/mmfclip.h>                //CMMFClip
+#include <mmf/server/mmfdatasink.h>            //MDataSink
 #include <mmfcontrollerframework.h> //MAsyncEventHandler
 #include "hxcom.h"                  //STDMETHODIMP
 #include "hxfiles.h"                //IHXFileObject
Index: common/fileio/pub/platform/symbian/hxdatasourcemmfclip.h
===================================================================
RCS file: /cvsroot/common/fileio/pub/platform/symbian/hxdatasourcemmfclip.h,v
retrieving revision 1.1.2.3
diff -u -w -r1.1.2.3 hxdatasourcemmfclip.h
--- common/fileio/pub/platform/symbian/hxdatasourcemmfclip.h    27 Mar 2007 
14:55:04 -0000      1.1.2.3
+++ common/fileio/pub/platform/symbian/hxdatasourcemmfclip.h    31 Jul 2009 
17:38:44 -0000
@@ -54,7 +54,7 @@
 #ifdef HELIX_FEATURE_S60_PROGDOWN
 #include "ihxdownloadeventobserver.h"
 #endif
-#include <mmffile.h>
+#include <mmf/server/mmffile.h>
 
 // warnning: This interface and related functionality is under development.
 // IHXMMFDataSource API can change anytime.

Index: common/netio/pub/platform/symbian/hxsymbiansocket.h
===================================================================
RCS file: /cvsroot/common/netio/pub/platform/symbian/hxsymbiansocket.h,v
retrieving revision 1.1
diff -u -w -r1.1 hxsymbiansocket.h
--- common/netio/pub/platform/symbian/hxsymbiansocket.h 29 Sep 2005 21:03:26 
-0000      1.1
+++ common/netio/pub/platform/symbian/hxsymbiansocket.h 31 Jul 2009 17:38:45 
-0000
@@ -55,7 +55,12 @@
 #include "hxbuffer.h"
 
 #include <es_sock.h>
+
+#ifdef SYMBIAN_ENABLE_SPLIT_HEADERS
+#include <in_sock_internal.h> //KSoUdpRecvBuf
+#else
 #include <in_sock.h>
+#endif
 
 #include "ihxaccesspoint.h"
 #include "hxapconresp.h"
Index: datatype/mdf/audio/dsp/mdfaudfmt.h
===================================================================
RCS file: /cvsroot/datatype/mdf/audio/dsp/mdfaudfmt.h,v
retrieving revision 1.1.2.8
diff -u -w -r1.1.2.8 mdfaudfmt.h
--- datatype/mdf/audio/dsp/mdfaudfmt.h  31 Mar 2009 19:15:30 -0000      1.1.2.8
+++ datatype/mdf/audio/dsp/mdfaudfmt.h  31 Jul 2009 17:39:00 -0000
@@ -50,7 +50,7 @@
 #ifndef MDF_AUDIOFMT
 #define MDF_AUDIOFMT
 
-#include <SoundDevice.h>
+#include <mmf/server/sounddevice.h>
 #include <mmf/common/mmffourcc.h>
 
 #include "hxcom.h"
Index: datatype/mdf/audio/dsp/mdfdevsound.h
===================================================================
RCS file: /cvsroot/datatype/mdf/audio/dsp/mdfdevsound.h,v
retrieving revision 1.1.2.13
diff -u -w -r1.1.2.13 mdfdevsound.h
--- datatype/mdf/audio/dsp/mdfdevsound.h        23 Jul 2009 15:01:50 -0000      
1.1.2.13
+++ datatype/mdf/audio/dsp/mdfdevsound.h        31 Jul 2009 17:39:00 -0000
@@ -51,11 +51,10 @@
 #ifndef MDF_DEVSOUND
 #define MDF_DEVSOUND
 
-#include <SoundDevice.h>
+#include <mmf/server/sounddevice.h>
 #include <mmf/common/mmffourcc.h>
 #include <mmf/server/mmfhwdevice.h>    
 #include <ecom/ecom.h>
-#include <sounddevice.h>
 
 #include "hxslist.h"        //CHXSimpleList
 #include "mdfaudfmt.h"
Index: datatype/mdf/video/renderer/umakedll
===================================================================
RCS file: /cvsroot/datatype/mdf/video/renderer/umakedll,v
retrieving revision 1.1.1.1.2.9
diff -u -w -r1.1.1.1.2.9 umakedll
--- datatype/mdf/video/renderer/umakedll        27 Jan 2009 18:17:02 -0000      
1.1.1.1.2.9
+++ datatype/mdf/video/renderer/umakedll        31 Jul 2009 17:39:00 -0000
@@ -73,8 +73,6 @@
     project.AddSystemLibraries("edllstub.lib")
 
 
-project.AddIncludes(os.path.join(GetSDKPath('SYMBIANSDK'),'epoc32\include\mmf\devvideo'))
-
 project.AddIncludes("../common/include")
 
 
Index: datatype/mdf/video/renderer/umakelib
===================================================================
RCS file: /cvsroot/datatype/mdf/video/renderer/umakelib,v
retrieving revision 1.1.1.1.2.5
diff -u -w -r1.1.1.1.2.5 umakelib
--- datatype/mdf/video/renderer/umakelib        28 Mar 2007 03:53:41 -0000      
1.1.1.1.2.5
+++ datatype/mdf/video/renderer/umakelib        31 Jul 2009 17:39:00 -0000
@@ -47,8 +47,6 @@
 
 UmakefileVersion(2,1)
 
-project.AddIncludes(os.path.join(GetSDKPath('SYMBIANSDK'),'epoc32\include\mmf\devvideo'))
-
 project.AddModuleIncludes(  "common/include",
                             "client/include",
                             "datatype/rm/include",
Index: datatype/mdf/video/renderer/mdfdevice/client/CMDFDevVideoClient.h
===================================================================
RCS file: 
/cvsroot/datatype/mdf/video/renderer/mdfdevice/client/CMDFDevVideoClient.h,v
retrieving revision 1.1.2.6
diff -u -w -r1.1.2.6 CMDFDevVideoClient.h
--- datatype/mdf/video/renderer/mdfdevice/client/CMDFDevVideoClient.h   30 Mar 
2009 18:49:44 -0000      1.1.2.6
+++ datatype/mdf/video/renderer/mdfdevice/client/CMDFDevVideoClient.h   31 Jul 
2009 17:39:00 -0000
@@ -69,7 +69,12 @@
 #include "CMDFDevVideoServerCmds.h"
 
 #if defined(HELIX_FEATURE_S60_TRICKPLAY)
+
+#ifdef SYMBIAN_ENABLE_SPLIT_HEADERS
+#include <mmf/common/mmfvideoenums.h> //TVideoPlayRateCapabilities
+#else
 #include <mmf/common/mmfvideo.h>
+#endif
 #endif  //HELIX_FEATURE_S60_TRICKPLAY
 
 #if defined (HELIX_FEATURE_SYMBIAN_GRAPHICS_SURFACES)                          
_______________________________________________
Audio-dev mailing list
Audio-dev@helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/audio-dev

Reply via email to