remotemgmt_plat/syncml_ds_error_reporting_api/tsrc/SyncStatusSpy/src/CenrepUtils.cpp
branchRCL_3
changeset 11 06f47423ecee
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/remotemgmt_plat/syncml_ds_error_reporting_api/tsrc/SyncStatusSpy/src/CenrepUtils.cpp	Fri Mar 12 15:46:48 2010 +0200
@@ -0,0 +1,121 @@
+/*
+* 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 FILES
+
+#include <bautils.h>				// BaflUtils
+#include <utf.h>
+#include <centralrepository.h>
+#include <NsmlOperatorErrorCRKeys.h>
+
+#include "CenrepUtils.h"
+
+_LIT( KPrivateFile, "C:\\logs\\Sync\\SyncStatus.txt" );
+
+// ================= MEMBER FUNCTIONS =========================================
+
+
+void CCenrepUtils::WriteLogL( TUint32 aKey, TLogKey aValue  )
+	{
+	RFs fs;
+	User::LeaveIfError( fs.Connect() );  // create connect to fileserver
+	
+	CleanupClosePushL( fs );
+	RFile privateFile;
+	CleanupClosePushL( privateFile );
+
+	TInt ret = privateFile.Open( fs, KPrivateFile, EFileShareExclusive|EFileWrite ); // open file
+	if( ret == KErrNotFound )  // if file does not exist, create it
+		{
+		privateFile.Create( fs, KPrivateFile, EFileShareExclusive|EFileWrite );
+		}
+
+	TInt value = 0;
+    CRepository* rep = CRepository::NewL( KCRUidOperatorDatasyncErrorKeys );
+    rep->Get( aKey, value );
+    delete rep;
+	HBufC8* dateBuf8 = HBufC8::NewLC( 64 );
+	TPtr8 ptrDateBuf8 = dateBuf8->Des();
+	HBufC8* timeBuf8 = HBufC8::NewLC( 64 );
+	TPtr8 ptrTimeBuf8 = timeBuf8->Des();
+
+	GetDateAndTimeL( ptrDateBuf8, ptrTimeBuf8 );
+	HBufC8* buf8 = HBufC8::NewLC( 512 );
+	TPtr8 ptrBuf8 = buf8->Des();
+
+	if( aValue == EErrorCode )
+		{
+		ptrBuf8.Format( _L8("[%S ] [ErrorCode: %d]\r\n"), &ptrTimeBuf8, value );
+		}
+	else if( aValue == EProfileId )
+		{
+		ptrBuf8.Format( _L8("[%S ] [SyncProfileId: %d]\r\n"), &ptrTimeBuf8, value );
+		}
+	else if( aValue == ESyncType )
+        {
+        ptrBuf8.Format( _L8("[%S ] [SyncType: %d]\r\n"), &ptrTimeBuf8, value );
+        }
+	else if( aValue == ESyncInitiation )
+		{
+		ptrBuf8.Format( _L8("[%S ] [SyncInitiation: %d]\r\n"), &ptrTimeBuf8, value );
+		}
+
+	TInt size = 0;
+	privateFile.Size( size );
+	privateFile.Write( size, ptrBuf8 );
+
+	CleanupStack::PopAndDestroy( 5, &fs );//privateFile, dateBuf8, timeBuf8, buf8
+    }
+
+void CCenrepUtils::GetDateAndTimeL( TDes8& aDateBuffer, TDes8& aTimeBuffer )
+	{
+	TTime time;
+	time.HomeTime();
+	HBufC* dateBuffer = HBufC::NewLC( 64 );
+	TPtr ptrDateBuffer = dateBuffer->Des();
+	HBufC* timeBuffer = HBufC::NewLC( 64 );
+	TPtr ptrTimeBuffer = timeBuffer->Des();
+	time.FormatL( ptrDateBuffer, _L( "%D%M%Y%/0%1%/1%2%/2%3%/3" ) );
+	time.FormatL( ptrTimeBuffer, _L( "%-B%:0%J%:1%T%:2%S%.%*C4%:3%+B" ) );
+	CnvUtfConverter::ConvertFromUnicodeToUtf8( aDateBuffer, ptrDateBuffer );
+	CnvUtfConverter::ConvertFromUnicodeToUtf8( aTimeBuffer, ptrTimeBuffer );
+	CleanupStack::PopAndDestroy( 2 ); // dateBuffer, timeBuffer
+	}
+
+void CCenrepUtils::CreateSyncLogDirL()
+	{
+	RFs fs;
+	User::LeaveIfError( fs.Connect() );  // create connect to fileserver
+	CleanupClosePushL( fs );
+	if( !BaflUtils::FolderExists( fs, _L( "C:\\logs\\Sync\\" ) ) )
+        {
+        fs.MkDirAll( _L( "C:\\logs\\Sync\\" ) );
+        }
+	CleanupStack::PopAndDestroy();
+	}
+
+void CCenrepUtils::ClearSyncLogL()
+	{
+	RFs fs;
+	User::LeaveIfError( fs.Connect() );  // create connect to fileserver
+	CleanupClosePushL( fs );
+	RFile privateFile;
+	CleanupClosePushL( privateFile );
+	privateFile.Replace( fs, KPrivateFile, EFileShareExclusive|EFileWrite );
+	CleanupStack::PopAndDestroy( 2 );
+	}
+// End of File