[Helix-client-dev] [Nokia-private-dev] CR: Using libc.dll instead of estlib.dll on Symbian

<[email protected]> Fri, 6 Nov 2009 18:22:07 +0100
Newsgroups gmane.comp.multimedia.helix.devel
Message-ID <A2D3AB7E9E40FE459A7A873A70C60B4405E1B5F3B6@NOK-EUMSG-05.mgdnok.nokia.com>


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

Modified by : [email protected]

Reviewed by:

Date: 11/04/2009

Project: Helix

CR: REQ ID 417-22719

SUB-ID: 417-34049, 417-58964

Synopsis: Using libc.dll instead of estlib.dll on Symbian

Overview: Using libc.dll instead of estlib.dll on Symbian to support Metroska

Files modified:
/cvsroot/ribosome/build/umakepf/helix-client-s60-52-common.pfi
/cvsroot/audio/device/platform/symbian/audiosvr/audio_svr_cntxt.cpp
/cvsroot/clientapps/symbianMmf/audiocontroller/controllerdll
/cvsroot/clientapps/symbianMmf/audiocontroller/hxmmfaudioctrl.cpp
/cvsroot/clientapps/symbianMmf/videocontroller/hxmmfctrlimpl.cpp
/cvsroot/clientapps/symbianMmf/videocontroller/MmfCtrlDll
/cvsroot/clientapps/symbianMmf/wmvextcontroller/wmaextctrldll
/cvsroot/clientapps/symbianMmf/wmvextcontroller/WmvExtCtrlDll
/cvsroot/common/fileio/platform/symbian/symbihxdataf.cpp
/cvsroot/common/import/expat/xmlparse/xmlparse.c
/cvsroot/common/include/hxtypes.h
/cvsroot/common/netio/pub/platform/symbian/nettypes.h
/cvsroot/common/runtime/hlxosstr.cpp
/cvsroot/common/runtime/symbian.pcf
/cvsroot/common/runtime/pub/hlxclib/stddef.h
/cvsroot/common/runtime/pub/hlxclib/stdio.h
/cvsroot/common/runtime/pub/hlxclib/wchar.h
/cvsroot/common/system/platform/symbian/CHXSymbianServer.cpp
/cvsroot/datatype/tools/metadataeng/engine/platform/symbian/symbian_metadataeng.cpp
/cvsroot/wmcode-protocol/rtsp/import/wmrtsp-porting-kit/network/client/common/netbuffer.h
/cvsroot/wmcode-protocol/rtsp/import/wmrtsp-porting-kit/network/client/helix/helix_win32_functions.h

Image Size and Heap Use impact: N/A

Test case(s) Added : No

Memory leak check performed : Yes, no leak

Branches: 210Cays

Index: helix-client-s60-52-common.pfi
===================================================================
RCS file: /cvsroot/ribosome/build/umakepf/helix-client-s60-52-common.pfi,v
retrieving revision 1.8
diff -u -r1.8 helix-client-s60-52-common.pfi
--- helix-client-s60-52-common.pfi      15 Oct 2009 18:33:44 -0000      1.8
+++ helix-client-s60-52-common.pfi      21 Oct 2009 19:41:22 -0000
@@ -65,3 +65,4 @@
 #project.AddDefines('HELIX_FEATURE_SYMBIAN_ADVANCED_SECURE_OUTPUT')
 project.AddDefines('HELIX_FEATURE_64_BIT_FILE_SUPPORT')
 project.AddDefines('HELIX_CONFIG_SYMBIAN_HEADER_STRUCTURE_CHANGE')
+project.AddDefines('HELIX_CONFIG_SYMBIAN_USE_STDAPIS')


 Index: audio_svr_cntxt.cpp
===================================================================
RCS file: /cvsroot/audio/device/platform/symbian/audiosvr/audio_svr_cntxt.cpp,v
retrieving revision 1.8.2.1
diff -u -r1.8.2.1 audio_svr_cntxt.cpp
--- audio_svr_cntxt.cpp 4 Aug 2006 14:40:03 -0000       1.8.2.1
+++ audio_svr_cntxt.cpp 23 Oct 2009 21:03:06 -0000
@@ -270,7 +270,9 @@
     delete pCleanupTrap;

     // clean up memory allocated by stdlib functions
+#if !defined(HELIX_CONFIG_SYMBIAN_USE_STDAPIS)
     CloseSTDLIB();
+#endif

     // reset thread members in case this thread is restarted
     pArgs->pCtx->m_running = false;


Index: controllerdll
===================================================================
RCS file: /cvsroot/clientapps/symbianMmf/audiocontroller/controllerdll,v
retrieving revision 1.1.2.8
diff -u -r1.1.2.8 controllerdll
--- controllerdll       27 Jan 2009 18:02:00 -0000      1.1.2.8
+++ controllerdll       23 Oct 2009 21:03:26 -0000
@@ -97,14 +97,11 @@
     "MMFDEVSOUND.LIB",
     "WS32.LIB",
     "EFSRV.LIB",
-    "EUSER.LIB",
     "INSOCK.LIB",
     "CONNMON.LIB",
     "ESOCK.LIB",
     "BAFL.LIB",
     "COMMDB.LIB",
-    "ESTLIB.LIB",
-    "HAL.LIB",
     "COMMONENGINE.LIB",
     "APSETTINGSHANDLERUI.LIB",
     "EIKCORE.LIB",
@@ -149,14 +146,11 @@
                                 "MMFDEVSOUND.LIB(VtblExports.o)",
                                 "WS32.LIB(VtblExports.o)",
                                 "EFSRV.LIB(VtblExports.o)",
-                                "EUSER.LIB(VtblExports.o)",
                                 "INSOCK.LIB(VtblExports.o)",
                                 "CONNMON.LIB(VtblExports.o)",
                                 "ESOCK.LIB(VtblExports.o)",
                                 "BAFL.LIB(VtblExports.o)",
                                 "COMMDB.LIB(VtblExports.o)",
-                                "ESTLIB.LIB(VtblExports.o)",
-                                "HAL.LIB(VtblExports.o)",
                                 "COMMONENGINE.LIB(VtblExports.o)",
                                 "APSETTINGSHANDLERUI.LIB(VtblExports.o)",
                                 "EIKCORE.LIB(VtblExports.o)",

Index: hxmmfaudioctrl.cpp
===================================================================
RCS file: /cvsroot/clientapps/symbianMmf/audiocontroller/hxmmfaudioctrl.cpp,v
retrieving revision 1.1.2.26
diff -u -r1.1.2.26 hxmmfaudioctrl.cpp
--- hxmmfaudioctrl.cpp  2 Oct 2009 16:57:58 -0000       1.1.2.26
+++ hxmmfaudioctrl.cpp  23 Oct 2009 21:14:08 -0000
@@ -120,7 +120,9 @@
     }
     delete m_pActiveSchedulerWait;
     delete m_pCustomInterface;
+#if !defined(HELIX_CONFIG_SYMBIAN_USE_STDAPIS)
     CloseSTDLIB();
+#endif
 }

 void

Index: hxmmfctrlimpl.cpp
===================================================================
RCS file: /cvsroot/clientapps/symbianMmf/videocontroller/hxmmfctrlimpl.cpp,v
retrieving revision 1.12.2.69
diff -u -r1.12.2.69 hxmmfctrlimpl.cpp
--- hxmmfctrlimpl.cpp   9 Jun 2009 20:09:17 -0000       1.12.2.69
+++ hxmmfctrlimpl.cpp   23 Oct 2009 21:15:39 -0000
@@ -136,7 +136,9 @@
         HXGlobalManInstance::SetInstance(0);
     }

+#if !defined(HELIX_CONFIG_SYMBIAN_USE_STDAPIS)
     CloseSTDLIB();
+#endif
 }

 void

Index: MmfCtrlDll
===================================================================
RCS file: /cvsroot/clientapps/symbianMmf/videocontroller/MmfCtrlDll,v
retrieving revision 1.3.2.10
diff -u -r1.3.2.10 MmfCtrlDll
--- MmfCtrlDll  27 Jan 2009 18:02:26 -0000      1.3.2.10
+++ MmfCtrlDll  23 Oct 2009 21:21:31 -0000
@@ -97,14 +97,11 @@
     "MMFDEVSOUND.LIB",
     "WS32.LIB",
     "EFSRV.LIB",
-    "EUSER.LIB",
     "INSOCK.LIB",
     "CONNMON.LIB",
     "ESOCK.LIB",
     "BAFL.LIB",
     "COMMDB.LIB",
-    "ESTLIB.LIB",
-    "HAL.LIB",
     "COMMONENGINE.LIB",
     "APSETTINGSHANDLERUI.LIB",
     "EIKCORE.LIB",
@@ -149,14 +146,11 @@
                                 "MMFDEVSOUND.LIB(VtblExports.o)",
                                 "WS32.LIB(VtblExports.o)",
                                 "EFSRV.LIB(VtblExports.o)",
-                                "EUSER.LIB(VtblExports.o)",
                                 "INSOCK.LIB(VtblExports.o)",
                                 "CONNMON.LIB(VtblExports.o)",
                                 "ESOCK.LIB(VtblExports.o)",
                                 "BAFL.LIB(VtblExports.o)",
                                 "COMMDB.LIB(VtblExports.o)",
-                                "ESTLIB.LIB(VtblExports.o)",
-                                "HAL.LIB(VtblExports.o)",
                                 "COMMONENGINE.LIB(VtblExports.o)",
                                 "APSETTINGSHANDLERUI.LIB(VtblExports.o)",
                                 "EIKCORE.LIB(VtblExports.o)",


Index: wmaextctrldll
===================================================================
RCS file: /cvsroot/clientapps/symbianMmf/wmvextcontroller/wmaextctrldll,v
retrieving revision 1.1.2.6
diff -u -r1.1.2.6 wmaextctrldll
--- wmaextctrldll       30 Jan 2009 23:48:21 -0000      1.1.2.6
+++ wmaextctrldll       23 Oct 2009 21:37:11 -0000
@@ -109,14 +109,11 @@
     "MMFDEVSOUND.LIB",
     "WS32.LIB",
     "EFSRV.LIB",
-    "EUSER.LIB",
     "INSOCK.LIB",
     "CONNMON.LIB",
     "ESOCK.LIB",
     "BAFL.LIB",
     "COMMDB.LIB",
-    "ESTLIB.LIB",
-    "HAL.LIB",
     "COMMONENGINE.LIB",
     "APSETTINGSHANDLERUI.LIB",
     "EIKCORE.LIB",
@@ -168,14 +165,11 @@
                                 "MMFDEVSOUND.LIB(VtblExports.o)",
                                 "WS32.LIB(VtblExports.o)",
                                 "EFSRV.LIB(VtblExports.o)",
-                                "EUSER.LIB(VtblExports.o)",
                                 "INSOCK.LIB(VtblExports.o)",
                                 "CONNMON.LIB(VtblExports.o)",
                                 "ESOCK.LIB(VtblExports.o)",
                                 "BAFL.LIB(VtblExports.o)",
                                 "COMMDB.LIB(VtblExports.o)",
-                                "ESTLIB.LIB(VtblExports.o)",
-                                "HAL.LIB(VtblExports.o)",
                                 "COMMONENGINE.LIB(VtblExports.o)",
                                 "APSETTINGSHANDLERUI.LIB(VtblExports.o)",
                                 "EIKCORE.LIB(VtblExports.o)",

Index: WmvExtCtrlDll
===================================================================
RCS file: /cvsroot/clientapps/symbianMmf/wmvextcontroller/WmvExtCtrlDll,v
retrieving revision 1.1.2.4
diff -u -r1.1.2.4 WmvExtCtrlDll
--- WmvExtCtrlDll       30 Jan 2009 23:48:21 -0000      1.1.2.4
+++ WmvExtCtrlDll       23 Oct 2009 21:37:51 -0000
@@ -98,14 +98,11 @@
     "MMFDEVSOUND.LIB",
     "WS32.LIB",
     "EFSRV.LIB",
-    "EUSER.LIB",
     "INSOCK.LIB",
     "CONNMON.LIB",
     "ESOCK.LIB",
     "BAFL.LIB",
     "COMMDB.LIB",
-    "ESTLIB.LIB",
-    "HAL.LIB",
     "COMMONENGINE.LIB",
     "APSETTINGSHANDLERUI.LIB",
     "EIKCORE.LIB",
@@ -151,14 +148,11 @@
                                 "MMFDEVSOUND.LIB(VtblExports.o)",
                                 "WS32.LIB(VtblExports.o)",
                                 "EFSRV.LIB(VtblExports.o)",
-                                "EUSER.LIB(VtblExports.o)",
                                 "INSOCK.LIB(VtblExports.o)",
                                 "CONNMON.LIB(VtblExports.o)",
                                 "ESOCK.LIB(VtblExports.o)",
                                 "BAFL.LIB(VtblExports.o)",
                                 "COMMDB.LIB(VtblExports.o)",
-                                "ESTLIB.LIB(VtblExports.o)",
-                                "HAL.LIB(VtblExports.o)",
                                 "COMMONENGINE.LIB(VtblExports.o)",
                                 "APSETTINGSHANDLERUI.LIB(VtblExports.o)",
                                 "EIKCORE.LIB(VtblExports.o)",

Index: symbihxdataf.cpp
===================================================================
RCS file: /cvsroot/common/fileio/platform/symbian/symbihxdataf.cpp,v
retrieving revision 1.12.8.1
diff -u -r1.12.8.1 symbihxdataf.cpp
--- symbihxdataf.cpp    23 Mar 2006 16:26:06 -0000      1.12.8.1
+++ symbihxdataf.cpp    23 Oct 2009 21:33:27 -0000
@@ -50,6 +50,9 @@
 /****************************************************************************
  *  Includes
  */
+#if defined(HELIX_CONFIG_SYMBIAN_USE_STDAPIS)
+#include "hlxclib/sys/stat.h"
+#endif
 #include "hlxclib/string.h"
 #include "hlxclib/fcntl.h"

Index: xmlparse.c
===================================================================
RCS file: /cvsroot/common/import/expat/xmlparse/xmlparse.c,v
retrieving revision 1.8
diff -u -r1.8 xmlparse.c
--- xmlparse.c  24 Mar 2005 00:06:10 -0000      1.8
+++ xmlparse.c  23 Oct 2009 21:38:34 -0000
@@ -5,7 +5,7 @@

 #include "xmldef.h"
 #include "xmlparse.h"
-#include <stddef.h>
+#include "hlxclib/stddef.h"

 #ifdef _WINCE
 #ifndef _ABORT_DEFINED



Index: hxtypes.h
===================================================================
RCS file: /cvsroot/common/include/hxtypes.h,v
retrieving revision 1.31.2.3
diff -u -r1.31.2.3 hxtypes.h
--- hxtypes.h   19 Oct 2009 20:09:49 -0000      1.31.2.3
+++ hxtypes.h   23 Oct 2009 21:17:10 -0000
@@ -214,8 +214,12 @@
 #endif

 #if defined(_SYMBIAN)
+#if defined(HELIX_CONFIG_SYMBIAN_USE_STDAPIS)
+#include <sys/param.h>
+#else
 #define PATH_MAX      KMaxPath
 #endif
+#endif

 #ifdef __cplusplus
 extern "C" {            /* Assume C declarations for C++ */


Index: nettypes.h
===================================================================
RCS file: /cvsroot/common/netio/pub/platform/symbian/nettypes.h,v
retrieving revision 1.2
diff -u -r1.2 nettypes.h
--- nettypes.h  22 Mar 2005 19:59:44 -0000      1.2
+++ nettypes.h  23 Oct 2009 21:24:36 -0000
@@ -49,14 +49,17 @@

 #ifndef NETTYPES_H__
 #define NETTYPES_H__
-
+#if defined(HELIX_CONFIG_SYMBIAN_USE_STDAPIS)
+#include <arpa/inet.h>
+#include <sys/un.h>
+#endif
 #include <in_sock.h>
 #include <sys/types.h>
 #include <sys/socket.h>
 #include <netinet/in.h>
 #include <string.h> // memcmp
 #include "hxtypes.h"
-
+#if !defined(HELIX_CONFIG_SYMBIAN_USE_STDAPIS)
 // Provides posix data structures missing from standard Symbian headers. Even though
 // Symbian does not provide a posix socket API, these are useful for address representation
 // in generic cross-platfrom code.
@@ -224,7 +227,5 @@
     return ((a->sin6_family == AF_INET6) &&
             IN6_IS_ADDR_LOOPBACK(&a->sin6_addr));
 }
-
-
-
+#endif
 #endif /* NETTYPES_H__ */

Index: hlxosstr.cpp
===================================================================
RCS file: /cvsroot/common/runtime/hlxosstr.cpp,v
retrieving revision 1.22.8.2
diff -u -r1.22.8.2 hlxosstr.cpp
--- hlxosstr.cpp        15 Jan 2008 22:29:03 -0000      1.22.8.2
+++ hlxosstr.cpp        4 Nov 2009 22:44:17 -0000
@@ -50,6 +50,7 @@
 #include "hlxosstr.h"
 #include "hlxclib/windows.h"
 #include "hlxclib/assert.h"
+#include "hlxclib/wchar.h"
 #include "hlxclib/string.h"

 #ifdef _WINCE


Index: symbian.pcf
===================================================================
RCS file: /cvsroot/common/runtime/symbian.pcf,v
retrieving revision 1.4.64.1
diff -u -r1.4.64.1 symbian.pcf
--- symbian.pcf 7 Aug 2007 20:51:08 -0000       1.4.64.1
+++ symbian.pcf 23 Oct 2009 21:04:02 -0000
@@ -49,5 +49,6 @@
 # ***** END LICENSE BLOCK *****
 #

-project.AddSources("platform/symbian/process_events.cpp")
-project.AddSources("platform/symbian/symbian_wchar_functions.cpp")
+project.AddSources("platform/symbian/process_events.cpp")
+if not project.IsDefined('HELIX_CONFIG_SYMBIAN_USE_STDAPIS'):
+    project.AddSources("platform/symbian/symbian_wchar_functions.cpp")

Index: stddef.h
===================================================================
RCS file: /cvsroot/common/runtime/pub/hlxclib/stddef.h,v
retrieving revision 1.3
diff -u -r1.3 stddef.h
--- stddef.h    9 Jul 2004 18:21:09 -0000       1.3
+++ stddef.h    23 Oct 2009 21:29:29 -0000
@@ -59,6 +59,10 @@

 #include <stddef.h>

+#if defined(HELIX_CONFIG_SYMBIAN_USE_STDAPIS)
+#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
+#endif
+
 #ifdef LIMITS_UNDEF_WIN32
 #undef _WIN32
 #undef LIMITS_UNDEF_WIN32

Index: wchar.h
===================================================================
RCS file: /cvsroot/common/runtime/pub/hlxclib/wchar.h,v
retrieving revision 1.2.2.3
diff -u -r1.2.2.3 wchar.h
--- wchar.h     7 Feb 2008 18:17:15 -0000       1.2.2.3
+++ wchar.h     23 Oct 2009 21:35:56 -0000
@@ -67,8 +67,12 @@
 // the header has the inclusion for the wchar string operations

 #ifdef _SYMBIAN
+#if defined(HELIX_CONFIG_SYMBIAN_USE_STDAPIS)
+    #include <wchar.h>
+#else
     #include "platform/symbian/symbian_wchar_functions.h"
     #include <libc/string.h>
+#endif
 #else
     #include <wchar.h>
 #endif // End of #ifdef _SYMBIAN


Index: stdio.h
===================================================================
RCS file: /cvsroot/common/runtime/pub/hlxclib/stdio.h,v
retrieving revision 1.9
diff -u -r1.9 stdio.h
--- stdio.h     9 Jul 2004 18:21:09 -0000       1.9
+++ stdio.h     23 Oct 2009 21:28:32 -0000
@@ -142,9 +142,11 @@
 #define vsnprintf _vsnprintf

 #elif defined(_SYMBIAN) || defined(_WINCE) || defined(_IRIX)
+#if !defined(HELIX_CONFIG_SYMBIAN_USE_STDAPIS)
 #define snprintf __helix_snprintf
 #define vsnprintf __helix_vsnprintf
 #endif
+#endif

 #if    __cplusplus
 }

Index: CHXSymbianServer.cpp
===================================================================
RCS file: /cvsroot/common/system/platform/symbian/CHXSymbianServer.cpp,v
retrieving revision 1.1.2.3
diff -u -r1.1.2.3 CHXSymbianServer.cpp
--- CHXSymbianServer.cpp        13 Aug 2009 18:38:08 -0000      1.1.2.3
+++ CHXSymbianServer.cpp        23 Oct 2009 21:04:20 -0000
@@ -254,9 +254,11 @@
     REComSession::FinalClose();

     // clean up memory allocated by stdlib functions
+#if !defined(HELIX_CONFIG_SYMBIAN_USE_STDAPIS)
     CloseSTDLIB();
-
-    SERVER_LOG( (_L("CHXSymbianServerCtx[%x]::ThreadEntry --> Thread Death"), obj) );
+#endif
+
+    SERVER_LOG( (_L("CHXSymbianServerCtx[%x]::ThreadEntry --> Thread Death"), obj) );
     return KErrNone;
 }

Index: symbian_metadataeng.cpp
===================================================================
RCS file: /cvsroot/datatype/tools/metadataeng/engine/platform/symbian/symbian_metadataeng.cpp,v
retrieving revision 1.1.2.5
diff -u -r1.1.2.5 symbian_metadataeng.cpp
--- symbian_metadataeng.cpp     19 Jan 2009 22:29:17 -0000      1.1.2.5
+++ symbian_metadataeng.cpp     26 Oct 2009 19:45:24 -0000
@@ -558,7 +558,9 @@
         HXGlobalManInstance::SetInstance(0);
     }

+#if !defined(HELIX_CONFIG_SYMBIAN_USE_STDAPIS)
     CloseSTDLIB();
+#endif
     m_bDestroyed = TRUE;
 }

Index: netbuffer.h
===================================================================
RCS file: /cvsroot/wmcode-protocol/rtsp/import/wmrtsp-porting-kit/network/client/common/netbuffer.h,v
retrieving revision 1.3
diff -u -r1.3 netbuffer.h
--- netbuffer.h 23 Oct 2006 20:05:32 -0000      1.3
+++ netbuffer.h 23 Oct 2009 21:22:29 -0000
@@ -21,7 +21,7 @@
 #include "wmspacket.h"
 #endif

-#include <stddef.h>
+#include "hlxclib/stddef.h"
 #include "tentrylist.h"
 #include "incrementalalloc.h"


Index: helix_win32_functions.h
===================================================================
RCS file: /cvsroot/wmcode-protocol/rtsp/import/wmrtsp-porting-kit/network/client/helix/helix_win32_functions.h,v
retrieving revision 1.4.10.3
diff -u -r1.4.10.3 helix_win32_functions.h
--- helix_win32_functions.h     23 Apr 2009 20:40:58 -0000      1.4.10.3
+++ helix_win32_functions.h     23 Oct 2009 21:38:47 -0000
@@ -60,11 +60,11 @@
 #else /* #if defined(_WINDOWS) */

 // This include file is needed to define all the Win32 types.
-#ifndef _SYMBIAN
-#include <wchar.h>
+#if !defined(_SYMBIAN)  || defined(HELIX_CONFIG_SYMBIAN_USE_STDAPIS)
+#include "hlxclib/wchar.h"
 #endif
 #include <ctype.h>
-#ifndef _SYMBIAN
+#if !defined(_SYMBIAN)  || defined(HELIX_CONFIG_SYMBIAN_USE_STDAPIS)
 #include <wctype.h>
 #endif
 #include <sys/time.h>
@@ -77,7 +77,7 @@
 #include "timerep.h"
 #include "hxassert.h"

-#ifdef _SYMBIAN
+#if defined(_SYMBIAN) && !defined(HELIX_CONFIG_SYMBIAN_USE_STDAPIS)
 #include "symbian_wchar_functions.h"
 #endif
 #ifndef _SYMBIAN

_______________________________________________
Helix-client-dev mailing list
[email protected]
http://lists.helixcommunity.org/mailman/listinfo/helix-client-dev