diff -r 86a2e675b80a -r 813b186005b6 stif/Logger/src/Output.cpp --- a/stif/Logger/src/Output.cpp Mon Jun 28 15:36:07 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,243 +0,0 @@ -/* -* 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: This module contains implementation of COutput -* class member functions. -* -*/ - -// INCLUDE FILES -#include -#include "Output.h" -#include "FileOutput.h" -#include "NullOutput.h" -#include "LoggerOverFlow.h" - -// EXTERNAL DATA STRUCTURES -// None - -// EXTERNAL FUNCTION PROTOTYPES -// None - -// CONSTANTS -// None - -// MACROS -// None - -// LOCAL CONSTANTS AND MACROS -// None - -// MODULE DATA STRUCTURES -// None - -// LOCAL FUNCTION PROTOTYPES -// None - -// FORWARD DECLARATIONS -// None - -// ==================== LOCAL FUNCTIONS ======================================= -// None - -// ================= MEMBER FUNCTIONS ========================================= - -/* -------------------------------------------------------------------------------- - - Class: COutput - - Method: COutput - - Description: Default constructor - - C++ default constructor can NOT contain any code, that - might leave. - - Parameters: None - - Return Values: None - - Errors/Exceptions: None - - Status: Approved - -------------------------------------------------------------------------------- -*/ -COutput::COutput() - { - - } - -/* -------------------------------------------------------------------------------- - - Class: COutput - - Method: NewL - - Description: Two-phased constructor. - - NOTE: At the moment there is only one output module implemented - - Parameters: const TDesC& aTestPath: in: Path to logged information - const TDesC& aTestFile: in: Log name for information - TLoggerType aLoggerType: in: Log file type - TOutput aOutput: in: Output source - TBool aOverWrite: in: Indicator to file overwrite - TBool aWithTimeStamp: in: Indicator to time stamp - TBool aWithLineBreak: in: Indicator to line break - TBool aWithEventRanking: in: Indicator to event ranking - TBool aThreadIdToLogFile: in: Indicator to thread id adding to - end of the log file - TBool aCreateLogDir: in: Indicator to directory creation - TInt aStaticBufferSize - TBool aUnicode: in: Indicator if file has to be in unicode format - - Return Values: COutput*: pointer to COutput object - - Errors/Exceptions: Leaves if called CFileOutput::NewL method fails - - Status: Proposal - -------------------------------------------------------------------------------- -*/ -COutput* COutput::NewL( const TDesC& aTestPath, - const TDesC& aTestFile, - CStifLogger::TLoggerType aLoggerType, - CStifLogger::TOutput aOutput, - TBool aOverWrite, - TBool aWithTimeStamp, - TBool aWithLineBreak, - TBool aWithEventRanking, - TBool aThreadIdToLogFile, - TBool aCreateLogDir, - TInt aStaticBufferSize, - TBool aUnicode ) - { - - if ( aOutput == CStifLogger::EFile ) - { - CFileOutput* fileOutput = NULL; - // Create CFileOutput object fileOutput - TRAPD( err, fileOutput = CFileOutput::NewL( aTestPath, - aTestFile, - aLoggerType, - aOverWrite, - aWithTimeStamp, - aWithLineBreak, - aWithEventRanking, - aThreadIdToLogFile, - aCreateLogDir, - aStaticBufferSize, - aUnicode ) ); - - // Probably path or file name is over allowed size - if ( err == KErrArgument ) - { - User::Leave( KErrArgument ); - return NULL; // Never return because leave above - } - // Not enough memory, @js - else if ( err == KErrNoMemory ) - { - User::Leave( KErrNoMemory ); - return NULL; - } - // If e.g. path not found so we create CNullOutput to avoiding leave - // operation. CNullOutput looks logging although it won't. - else if ( err != KErrNone ) - { - CNullOutput* nullOutput = CNullOutput::NewL(); - nullOutput->SetOutputCreationResult( err, aOutput ); - return nullOutput; - } - // CFileOutput creation made succesfully - else - { - fileOutput->SetOutputCreationResult( err, aOutput ); - return fileOutput; - } - } - else if ( aOutput == CStifLogger::ERDebug ) - { - CRDebugOutput* rdebugOutput = NULL; - // Create CRDebugOutput object rdebugOutput - TRAPD( err, rdebugOutput = CRDebugOutput::NewL( aTestPath, - aTestFile, - aLoggerType, - aOverWrite, - aWithTimeStamp, - aWithLineBreak, - aWithEventRanking, - aThreadIdToLogFile, - aCreateLogDir, - aStaticBufferSize ) ); - - // Probably path or file name is over allowed size - if ( err == KErrArgument ) - { - User::Leave( KErrArgument ); - return NULL; // Never return because leave above - } - // If e.g. no memory so we create CNullOutput to avoiding leave - // operation. CNullOutput looks logging although it won't. - else if ( err != KErrNone ) - { - CNullOutput* nullOutput = CNullOutput::NewL(); - nullOutput->SetOutputCreationResult( err, aOutput ); - return nullOutput; - } - // CRDebugOutput creation made succesfully - else - { - rdebugOutput->SetOutputCreationResult( err, aOutput ); - return rdebugOutput; - } - } - else - { - User::Leave( KErrArgument ); - return NULL; // Never return because leave above - } - - } - -/* -------------------------------------------------------------------------------- - - Class: COutput - - Method: ~COutput - - Description: Destructor - - Parameters: None - - Return Values: None - - Errors/Exceptions: None - - Status: Approved - -------------------------------------------------------------------------------- -*/ -COutput::~COutput() - { - - } - -// ================= OTHER EXPORTED FUNCTIONS ================================= -// None - -// End of File