diff -r 000000000000 -r f0f2b8682603 memana/analyzetoolclient/commandlineengine/internal/src/catfilereader.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/memana/analyzetoolclient/commandlineengine/internal/src/catfilereader.cpp Thu Feb 11 15:51:35 2010 +0200 @@ -0,0 +1,111 @@ +/* +* 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: Class for reading ascii files in AnalyzeTool. +* +*/ + +#include "../inc/ATCommonDefines.h" +#include "../inc/catfilereader.h" + +// ----------------------------------------------------------------------------- +// CATFileReader::CATFileReader +// Constructor. +// ----------------------------------------------------------------------------- +CATFileReader::CATFileReader() +{ + LOG_FUNC_ENTRY("CATFileReader::CATFileReader"); + m_cDelimiter = '\r'; // default line delimeter +} + +// ----------------------------------------------------------------------------- +// CATFileReader::~CATFileReader +// Destructor. +// ----------------------------------------------------------------------------- +CATFileReader::~CATFileReader() +{ + LOG_FUNC_ENTRY("CATFileReader::~CATFileReader"); +} + +// ----------------------------------------------------------------------------- +// CATFileReader::Open +// Open / Read file. +// ----------------------------------------------------------------------------- +bool CATFileReader::Open( const char* cFile ) +{ + LOG_FUNC_ENTRY("CATFileReader::Open"); + if ( strlen( cFile ) < 1 ) + { + LOG_STRING("CATFileReader::Open empty file argument."); + return false; + } + try { + ifstream in; + in.open( cFile, ios::binary ); + if ( ! in.good() ) + return false; + m_stream << in.rdbuf(); + in.close(); + } + catch(...) + { + LOG_STRING("CATFileReader::Open unhandled exception."); + return false; + } + return true; +} + +// ----------------------------------------------------------------------------- +// CATFileReader::Close +// Close file. +// ----------------------------------------------------------------------------- +bool CATFileReader::Close( void ) +{ + LOG_FUNC_ENTRY("CATFileReader::Close"); + return true; +} + +// ----------------------------------------------------------------------------- +// CATFileReader::GetLine +// Get line from file. +// ----------------------------------------------------------------------------- +bool CATFileReader::GetLine( string& sLine ) +{ + //LOG_FUNC_ENTRY("CATFileReader::GetLine"); + char cLine[MAX_LINE_LENGTH]; + if ( !m_stream.good() ) + return false; + m_stream.getline( cLine, MAX_LINE_LENGTH, m_cDelimiter ); m_stream.get(); + sLine = cLine; + return true; +} + +// ----------------------------------------------------------------------------- +// CATFileReader::SetDelimiter +// Set line delimiting character. +// ----------------------------------------------------------------------------- +void CATFileReader::SetDelimiter( char cDelimiter ) +{ + LOG_FUNC_ENTRY("CATFileReader::SetDelimiter"); + m_cDelimiter = cDelimiter; +} + +// ----------------------------------------------------------------------------- +// CATFileReader::GetDelimiter +// Get current line delimiting character. +// ----------------------------------------------------------------------------- +char CATFileReader::GetDelimiter() const +{ + LOG_FUNC_ENTRY("CATFileReader::GetDelimiter()"); + return m_cDelimiter; +} \ No newline at end of file