--- /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;
+ }
+
+
+