# HG changeset patch # User Stefan Karlsson # Date 1269862071 -3600 # Node ID 69a2780c0013fb8c2d65823f20d4741956088f1a # Parent ef48f5dc1b7f1afe66441c7b88ba5dbbd12e6de9# Parent 4af2d5a55d1aa2224fe4c23b8022ae6aefb2753a Merge. diff -r ef48f5dc1b7f -r 69a2780c0013 genericopenlibs/cppstdlib/stl/stlport/stl/_ios.c --- a/genericopenlibs/cppstdlib/stl/stlport/stl/_ios.c Mon Mar 22 12:57:04 2010 -0700 +++ b/genericopenlibs/cppstdlib/stl/stlport/stl/_ios.c Mon Mar 29 12:27:51 2010 +0100 @@ -110,7 +110,17 @@ this->imbue(locale()); this->tie(0); this->_M_set_exception_mask(ios_base::goodbit); - this->_M_clear_nothrow(__sb != 0 ? ios_base::goodbit : ios_base::badbit); + /* + this->_M_clear_nothrow(__sb != 0 ? ios_base::goodbit : ios_base::badbit); + + The ternary expression above, throws an undefined reference link error (for goodbit and badbit) + when compiled with GCCE 4.3.2. Replacing ternary statement with an if-else block fixes this. + */ + if(__sb != 0) { + this->_M_clear_nothrow(ios_base::goodbit); + } else { + this->_M_clear_nothrow(ios_base::badbit); + } ios_base::flags(ios_base::skipws | ios_base::dec); ios_base::width(0); ios_base::precision(6); diff -r ef48f5dc1b7f -r 69a2780c0013 genericopenlibs/openenvcore/backend/group/backend.mmp --- a/genericopenlibs/openenvcore/backend/group/backend.mmp Mon Mar 22 12:57:04 2010 -0700 +++ b/genericopenlibs/openenvcore/backend/group/backend.mmp Mon Mar 29 12:27:51 2010 +0100 @@ -39,6 +39,8 @@ USERINCLUDE ../ipcserver/ipccli/inc USERINCLUDE ../ipcserver/ipcsrv/inc +// Illegal dependancy on tz.h in MW layer. Needs fixing +MW_LAYER_SYSTEMINCLUDE_SYMBIAN OS_LAYER_SYSTEMINCLUDE_SYMBIAN OS_LAYER_LIBC_SYSTEMINCLUDE @@ -146,7 +148,7 @@ LIBRARY rpipe.lib LIBRARY charconv.lib LIBRARY estor.lib - +LIBRARY tzclient.lib #ifdef WINSCW //wsd solution diff -r ef48f5dc1b7f -r 69a2780c0013 genericopenlibs/openenvcore/backend/inc/sysif.h --- a/genericopenlibs/openenvcore/backend/inc/sysif.h Mon Mar 22 12:57:04 2010 -0700 +++ b/genericopenlibs/openenvcore/backend/inc/sysif.h Mon Mar 29 12:27:51 2010 +0100 @@ -35,6 +35,8 @@ #include #include +#include + #ifdef SYMBIAN_OE_POSIX_SIGNALS #include "signalclient.h" #include "tsignalmessage.h" @@ -112,7 +114,7 @@ */ { public: - void StorePtrs(RHeap* aHeap, RFs* aFs, RSocketServ* aSs, RCommServ* aCs, RFastLock* aSsLock, RFastLock* aCsLock) + void StorePtrs(RHeap* aHeap, RFs* aFs, RSocketServ* aSs, RCommServ* aCs, RFastLock* aSsLock, RFastLock* aCsLock, RTz * aTzs) { iHeap = aHeap; iFs = aFs; @@ -120,6 +122,7 @@ iCs = aCs; iSsLock = aSsLock; iCsLock = aCsLock; + iTzS = aTzs; } ~TCLSICleanup() @@ -130,6 +133,7 @@ iCs->Close(); iCsLock->Close(); iHeap->Close(); + iTzS->Close(); } private: RHeap* iHeap; @@ -138,6 +142,7 @@ RCommServ* iCs; RFastLock* iSsLock; RFastLock* iCsLock; + RTz * iTzS; }; @@ -651,7 +656,7 @@ // Default connection settings, set/cleared using setdefaultif TConnPref* iDefConnPref; - + RTz iTzServer; #ifdef SYMBIAN_OE_POSIX_SIGNALS // Signal handler thread RThread iSignalHandlerThread; @@ -803,6 +808,11 @@ #endif // SYMBIAN_OE_POSIX_SIGNALS public: + + inline RTz & TZServer() + { + return iTzServer; + } //ipc server session RIpcSession iIpcS; friend class RFileDesTransferSession; diff -r ef48f5dc1b7f -r 69a2780c0013 genericopenlibs/openenvcore/backend/src/corebackend/localif.cpp --- a/genericopenlibs/openenvcore/backend/src/corebackend/localif.cpp Mon Mar 22 12:57:04 2010 -0700 +++ b/genericopenlibs/openenvcore/backend/src/corebackend/localif.cpp Mon Mar 29 12:27:51 2010 +0100 @@ -165,13 +165,23 @@ err |= iDefConnLock.CreateLocal(); } + if(err == KErrNone) + { + err = iTzServer.Connect(); + if(!err) + { + err = iTzServer.ShareAuto(); + } + } + + //Panic if any of the above operation returns with error if (err) { User::Panic(KEstlibInit, err); } - iCleanup.StorePtrs(iPrivateHeap, &iFs, &iSs, &iCs, &iSSLock, &iCSLock); + iCleanup.StorePtrs(iPrivateHeap, &iFs, &iSs, &iCs, &iSSLock, &iCSLock, &iTzServer); // No connection settings by default iDefConnPref = NULL; @@ -1600,13 +1610,13 @@ { err=iFids.Attach(fd,newf); if (!err) - return fd; - delete newf; + return fd; + newf->Close(); } else if(newf != NULL) { //coverity[leave_without_push] - delete newf; + newf->Close(); } iFids.Attach(fd,0); // cancel the reservation } diff -r ef48f5dc1b7f -r 69a2780c0013 genericopenlibs/openenvcore/backend/src/corebackend/usocket.cpp --- a/genericopenlibs/openenvcore/backend/src/corebackend/usocket.cpp Mon Mar 22 12:57:04 2010 -0700 +++ b/genericopenlibs/openenvcore/backend/src/corebackend/usocket.cpp Mon Mar 29 12:27:51 2010 +0100 @@ -1792,7 +1792,10 @@ ret = iSocket.Open(*iSockServPtr,iAddrFamily,iStyle,iProtocol); } } - iSocketPtr = &iSocket; + if(KErrNone == ret) + { + iSocketPtr = &iSocket; + } iConnectInProgress = EFalse; return ret; } diff -r ef48f5dc1b7f -r 69a2780c0013 genericopenlibs/openenvcore/libc/src/timefuncs.cpp --- a/genericopenlibs/openenvcore/libc/src/timefuncs.cpp Mon Mar 22 12:57:04 2010 -0700 +++ b/genericopenlibs/openenvcore/libc/src/timefuncs.cpp Mon Mar 29 12:27:51 2010 +0100 @@ -162,7 +162,7 @@ aDate; aReference; #endif - +/* //This part has been commented out because of performance issue. Also this requires capability. if(RProcess().HasCapability(ECapabilityReadUserData,ECapabilityWriteUserData,NULL)) { // tm_zone updated only in this case. Otherwise always has UTC. @@ -184,9 +184,12 @@ CnvUtfConverter::ConvertFromUnicodeToUtf8(ptr,zoneNameDesc); CleanupStack::PopAndDestroy(timezone); CleanupStack::PopAndDestroy(localizer); - } - aTmStruct->tm_zone = tzname[0]; - } + } + + aTmStruct->tm_zone = tzname[0]; */ + + aTmStruct->tm_zone = "WILDABBR"; + } void ConvertUtcToLocalTimeL(const time_t* aUTCTime, struct tm* const atmStruct) { @@ -194,7 +197,6 @@ { User::Leave(KErrArgument); } - TTime time(KEpochTime + (*aUTCTime) * (TInt64)1000000); TTime Utime(time); @@ -216,14 +218,11 @@ return; } - RTz tzServer; - User::LeaveIfError(tzServer.Connect()); - CleanupClosePushL(tzServer); - TDateTime tdt = time.DateTime(); //enable the cache - CTzConverter* ctzConverter = CTzConverter::NewL(tzServer); + CTzConverter* ctzConverter = CTzConverter::NewL(Backend()->TZServer()); + CleanupStack::PushL(ctzConverter); if(ctzConverter->ConvertToLocalTime(time) == KErrNone) { @@ -244,10 +243,12 @@ CleanupStack::PushL(zoneid); atmStruct->tm_isdst = -1; - UpdateDstAndTznameL(tzServer, *zoneid, atmStruct, time, Utime, tdt, ETzWallTimeReference); + UpdateDstAndTznameL(Backend()->TZServer(), *zoneid, atmStruct, time, Utime, tdt, ETzWallTimeReference); CleanupStack::PopAndDestroy(zoneid); } - CleanupStack::PopAndDestroy(2); + + + CleanupStack::PopAndDestroy(1); cachetm = *atmStruct; } @@ -279,11 +280,8 @@ return; } - RTz tzServer; - User::LeaveIfError(tzServer.Connect()); - CleanupClosePushL(tzServer); - CTzConverter* ctzConverter = CTzConverter::NewL(tzServer); + CTzConverter* ctzConverter = CTzConverter::NewL(Backend()->TZServer()); CleanupStack::PushL(ctzConverter); /* Following fields are updated if successful: * tm_wday @@ -307,17 +305,18 @@ CleanupStack::PushL(zoneid); aTmStruct->tm_isdst = -1; - UpdateDstAndTznameL(tzServer, *zoneid, aTmStruct, oldTime, time, tdt, ETzUtcTimeReference); + UpdateDstAndTznameL(Backend()->TZServer(), *zoneid, aTmStruct, oldTime, time, tdt, ETzUtcTimeReference); CleanupStack::PopAndDestroy(zoneid); } cachetm = *aTmStruct; - CleanupStack::PopAndDestroy(2); + CleanupStack::PopAndDestroy(1); } // converts a UTC time to local time, or, local time to UTC time. TInt ConvertTime(const TInt atimeConverFlg, time_t *aUTCTime, struct tm *const atmStruct) { TInt err = 0; + CActiveScheduler* oldAs = CActiveScheduler::Current(); RHeap* oldHeap = User::SwitchHeap(Backend()->Heap()); CActiveScheduler* newAs = new CActiveScheduler(); @@ -335,9 +334,11 @@ { CActiveScheduler::Install(newAs); } - + + oldHeap = User::SwitchHeap(Backend()->Heap()); // Cleanup stack needed CTrapCleanup* cleanup=CTrapCleanup::New(); + if (cleanup) { if(EUtcToLocal == atimeConverFlg) @@ -358,7 +359,8 @@ { (void)CActiveScheduler::Replace(oldAs); } - oldHeap = User::SwitchHeap(Backend()->Heap()); + + delete newAs; User::SwitchHeap(oldHeap); return MapError(err,errno); diff -r ef48f5dc1b7f -r 69a2780c0013 genericopenlibs/openenvcore/libpthread/group/libpthread.mmp --- a/genericopenlibs/openenvcore/libpthread/group/libpthread.mmp Mon Mar 22 12:57:04 2010 -0700 +++ b/genericopenlibs/openenvcore/libpthread/group/libpthread.mmp Mon Mar 29 12:27:51 2010 +0100 @@ -52,6 +52,9 @@ USERINCLUDE ../../libc/inc USERINCLUDE ../../backend/inc USERINCLUDE ../../backend/ipcserver/ipccli/inc + +// Illegal dependancy on tz.h in MW layer. Needs fixing +MW_LAYER_SYSTEMINCLUDE_SYMBIAN OS_LAYER_SYSTEMINCLUDE_SYMBIAN OS_LAYER_LIBC_SYSTEMINCLUDE diff -r ef48f5dc1b7f -r 69a2780c0013 genericopenlibs/posixrealtimeextensions/group/librt.mmp --- a/genericopenlibs/posixrealtimeextensions/group/librt.mmp Mon Mar 22 12:57:04 2010 -0700 +++ b/genericopenlibs/posixrealtimeextensions/group/librt.mmp Mon Mar 29 12:27:51 2010 +0100 @@ -33,6 +33,8 @@ USERINCLUDE ../../openenvcore/backend/ipcserver/ipccli/inc USERINCLUDE ../inc/ +// Illegal dependancy on tz.h in MW layer. Needs fixing +MW_LAYER_SYSTEMINCLUDE_SYMBIAN OS_LAYER_SYSTEMINCLUDE_SYMBIAN OS_LAYER_LIBC_SYSTEMINCLUDE diff -r ef48f5dc1b7f -r 69a2780c0013 group/bld.inf --- a/group/bld.inf Mon Mar 22 12:57:04 2010 -0700 +++ b/group/bld.inf Mon Mar 29 12:27:51 2010 +0100 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2009-2010 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" @@ -16,6 +16,8 @@ */ +#include "../rom/bld.inf" + #include "../ossrv_pub/group/bld.inf" #include "../ossrv_plat/libutils/group/bld.inf" @@ -28,40 +30,5 @@ #include "../utilitylibraries/libutils/group/bld.inf" - -PRJ_EXPORTS -//Exporting glib iby file -../rom/glib.iby CORE_OS_LAYER_IBY_EXPORT_PATH(glib.iby) - -//Exporting ssl iby file -../rom/ssl.iby CORE_OS_LAYER_IBY_EXPORT_PATH(ssl.iby) - -//Exporting stdcpp iby file -../rom/stdcpp4.iby CORE_OS_LAYER_IBY_EXPORT_PATH(stdcpp4.iby) - -//Exporting stdlibs iby file -../rom/stdlibs.iby CORE_OS_LAYER_IBY_EXPORT_PATH(stdlibs.iby) - - - - - -//exporting openc_stdlibs stub sis -../stdlibs/install/openc_stdlibs_stub.sis /epoc32/data/z/system/install/openc_stdlibs_stub.sis -//exporting openc_ssl stub sis -../ssl/install/openc_ssl_stub.sis /epoc32/data/z/system/install/openc_ssl_stub.sis -//exporting openc_libzcore_stub.sis -../ssl/install/openc_libzcore_stub.sis /epoc32/data/z/system/install/openc_libzcore_stub.sis -//exporting openc_glib stub sis -../glib/install/openc_glib_stub.sis /epoc32/data/z/system/install/openc_glib_stub.sis -//exporting stdcpp stub sis -../stdcpp/install/stdcpp_stub.SIS /epoc32/data/z/system/install/stdcpp_stub.sis - -//exporting rpipe stub sis -../stdlibs/install/rpipe_stub.SIS /epoc32/data/z/system/install/rpipe_stub.sis - -// exporting openc_liblogger stub sis -../stdlibs/install/openc_liblogger_stub.sis /epoc32/data/z/system/install/openc_liblogger_stub.sis - // End of File diff -r ef48f5dc1b7f -r 69a2780c0013 package_definition.xml --- a/package_definition.xml Mon Mar 22 12:57:04 2010 -0700 +++ b/package_definition.xml Mon Mar 29 12:27:51 2010 +0100 @@ -158,7 +158,7 @@ - + diff -r ef48f5dc1b7f -r 69a2780c0013 rom/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/rom/bld.inf Mon Mar 29 12:27:51 2010 +0100 @@ -0,0 +1,54 @@ +/* +* Copyright (c) 2010 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: +* +*/ + + +PRJ_EXPORTS +//Exporting glib iby file +../rom/glib.iby CORE_OS_LAYER_IBY_EXPORT_PATH(glib.iby) + +//Exporting ssl iby file +../rom/ssl.iby CORE_OS_LAYER_IBY_EXPORT_PATH(ssl.iby) + +//Exporting stdcpp iby file +../rom/stdcpp4.iby CORE_OS_LAYER_IBY_EXPORT_PATH(stdcpp4.iby) + +//Exporting stdlibs iby file +../rom/stdlibs.iby CORE_OS_LAYER_IBY_EXPORT_PATH(stdlibs.iby) + + + + + +//exporting openc_stdlibs stub sis +../stdlibs/install/openc_stdlibs_stub.sis /epoc32/data/z/system/install/openc_stdlibs_stub.sis +//exporting openc_ssl stub sis +../ssl/install/openc_ssl_stub.sis /epoc32/data/z/system/install/openc_ssl_stub.sis +//exporting openc_libzcore_stub.sis +../ssl/install/openc_libzcore_stub.sis /epoc32/data/z/system/install/openc_libzcore_stub.sis +//exporting openc_glib stub sis +../glib/install/openc_glib_stub.sis /epoc32/data/z/system/install/openc_glib_stub.sis +//exporting stdcpp stub sis +../stdcpp/install/stdcpp_stub.SIS /epoc32/data/z/system/install/stdcpp_stub.sis + +//exporting rpipe stub sis +../stdlibs/install/rpipe_stub.SIS /epoc32/data/z/system/install/rpipe_stub.sis + +// exporting openc_liblogger stub sis +../stdlibs/install/openc_liblogger_stub.sis /epoc32/data/z/system/install/openc_liblogger_stub.sis + +// End of File +