diff -r 000000000000 -r 62f9d29f7211 webservices/wsxml/src/senfiltercondition.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/webservices/wsxml/src/senfiltercondition.cpp Thu Jan 07 16:19:19 2010 +0200 @@ -0,0 +1,129 @@ +/* +* Copyright (c) 2005 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: +* +*/ + + + + + + + + +// INCLUDES + +#include "SenFilterCondition.h" + +#include "SenDebug.h" +#include "SenLogger.h" + + +_LIT(KLogFileDir, "WsLog"); +_LIT(KLogFileName, "SenXml.log"); + +// ------------------------------------------- +// +// Implementation of class CSenFilterCondition +// +// ------------------------------------------- + + +EXPORT_C CSenFilterCondition* CSenFilterCondition::NewL(TInt aIndex, + const TDesC8& aElement, + const TDesC8& aAttribute) +{ + CSenFilterCondition* pNew = new (ELeave) CSenFilterCondition; + CleanupStack::PushL(pNew); + pNew->ConstructL(aIndex, + aElement, + aAttribute); + CleanupStack::Pop(); // pNew; + return pNew; +} + + +void CSenFilterCondition::ConstructL(TInt aIndex, + const TDesC8& aElement, + const TDesC8& aAttribute) +{ + iIndex = aIndex; + ipElement = aElement.AllocL(); + ipAttribute = aAttribute.AllocL(); +} + + +CSenFilterCondition::CSenFilterCondition() +: ipElement(NULL), + ipAttribute(NULL) +{ + TLSLOG_OPEN(KSenXmlLogChannel, KSenXmlLogLevel, KSenXml, KSenXmlLog); + TLSLOG(KSenXmlLogChannel , KSenXmlLogLevel , _L8("CSenFilterCondition::CSenFilterCondition(): Log opened")); + + iCurrentIndex = -1; + iIndex = 0; + + TLSLOG(KSenXmlLogChannel , KSenXmlLogLevel , _L8("CSenFilterCondition::CSenFilterCondition(): End")); +} + + +CSenFilterCondition::CSenFilterCondition(const CSenFilterCondition& aFilterCondition) +{ + iIndex = aFilterCondition.iIndex; + iCurrentIndex = aFilterCondition.iCurrentIndex; + + if (NULL == aFilterCondition.ipElement) { + ipElement = NULL; + } else { + ipElement = aFilterCondition.ipElement->Alloc(); + } + + if (NULL == aFilterCondition.ipAttribute) { + ipAttribute = NULL; + } else { + ipAttribute = aFilterCondition.ipAttribute->Alloc(); + } +} + + +EXPORT_C CSenFilterCondition::~CSenFilterCondition() +{ + delete ipElement; + delete ipAttribute; + + // Close the log file and the connection to the server. + TLSLOG(KSenXmlLogChannel , KSenXmlLogLevel , _L("Log file closed.")); + TLSLOG_CLOSE(KSenXmlLogChannel); +} + + +EXPORT_C TBool CSenFilterCondition::Test() +{ + TBool test = EFalse; + if ( ++iCurrentIndex == iIndex ) + { + test = ETrue; + } + + return test; +} + + +RFileLogger* CSenFilterCondition::Log() const + { + return (RFileLogger*) &iLog; + } + + +