[Common-cvs] build/BIF helix.bif,1.546,1.547
rrajesh at helixcommunity.org rrajesh at helixcommunity.orgUpdate of /cvsroot/common/build/BIF
In directory cvs:/tmp/cvs-serv4722
Modified Files:
helix.bif
Log Message:
Synopsis: Enable HXLOG for symbian 9.1
The changes are based on the earlier proposal (Refer
Porting-Symbian devList : ProblemwithLogSystem forNOSTATIC platforms)
that I had sent out. (Only first proposal is done)
Log System will be loaded once by client core or TLC and all other modules will query Client context for reference.
Following changes are made:
=====================
* updated bif file to include log system modules
* variable argument in rvct compiler is not a pointer. It is of type struct, Hence changed the handling of NULL va arg. ( Hxtypes
hxtwritermanager)
* Client Engine has been changed to load the LogSystem, if the TLC did not provide one. All modules which requires logging will query the client context for reference.
ClientEngine has the capability to use the LogSystem if provided by the TLC. All these changes are put under a compiler flag.
(HELIX_FEATURE_CORE_LOG)
* The routines for enabling and disabling log are modified for getting reference of LogSystem from the context provided instead of loading for each module. Logsystem instance is no more global. Either it is holded by client core or by the TLC. Disable logging has an option to either shutdown or just disable log for that module alone.
* Added new four cc code for Symbian MMF module (SMMF)
* The optimization level of RVCT compiler has been overridden for hxtwritermanager.cpp. The code generation for QueryInterface was not correct. Reducing the optimization level fixes the problem. ( This is not a permanent solution)
* Updated bld files for SymbianMMF to include logs in MMF module.
* Config file updated with log values.
>>>>>>> Needs Clarification<<<<<
* Sinkctl had log function call invocation instead of macro.
"// Call appropriate HXLog function. We don't use
// the HXLOGLx macros, since we want these calls to
// be included regardless of whether we are a debug
// or release build."
Provided the logs are required irrespective of what log level defined, why don't we log with LogLevel 1 api for all cases ?
Something like this...
case LC_CLIENT_LEVEL1:
case LC_CLIENT_LEVEL2:
case LC_CLIENT_LEVEL3:
case LC_CLIENT_LEVEL4:
HXLOGL1(eFourCC, "%s", pUserString);
break;
Limitation or Known issues:
===================
* Optimization level reduced for hxtwritermanager.cpp
(common\log\logsystem)
* Logging will be available only when ClientCore is created. TLC overridden log, yet to be done.
* Currently the mmf profile builds only for Log level 1 & 2.
Player crashes with log level 3. NOTE: All log levels work in thumb, wins, winscw.
* Console logging (Rdebug) is not available currently. (a CR will follow soon for enabling console logging)
Files Modified:
===========
/build/umakepf/helix-client-s60mmf-common.pfi
/build/BIF/helix.bif
/common/include/hxtypes.h
/common/include/ihxtlogsystem.h
/common/log/logutil/hxtlogutil.cpp
/common/log/logutil/pub/hxtlogutil.h
/common/log/logsystem/hxtlogsystem.cpp
/common/log/logsystem/hxtwritermanager.cpp
/common/log/logobserverfile/hxtlogobserver.cpp
/client/core/hxcleng.cpp
/client/core/sinkctl.cpp
/client/core/pub/hxcleng.h
/clientapps/symbianMmf/MmfCtrlLib
/clientapps/symbianMmf/hxmmfctrlimpl.cpp
/clientapps/symbianMmf/hxmmfplayctrl.cpp
/clientapps/symbianMmf/installMMF.pcf
/clientapps/symbiancommon/config/R1_Mobile_4_0_Factory.cfg
Following Community (Greg) comments are incorporated:
* Move va list changes to stdarg.h
* Remove compiler flag check for Log enum definitions
* Use CHXString instead of char string array in hxcleng.cpp
* Update pragma changes.
Index: helix.bif
===================================================================
RCS file: /cvsroot/common/build/BIF/helix.bif,v
retrieving revision 1.546
retrieving revision 1.547
diff -u -d -r1.546 -r1.547
--- helix.bif 11 Dec 2005 05:09:34 -0000 1.546
+++ helix.bif 21 Dec 2005 20:29:07 -0000 1.547
@@ -6941,6 +6941,8 @@
common_container
common_dbgtool
common_util
+ common_log_logsystem
+ common_log_logobserverfile
client_common_util
client_common_system
client_common_container