messagingfw/biomsgfw/T_BIOMSG/INC/parsers.h
changeset 0 8e480a14352b
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/biomsgfw/T_BIOMSG/INC/parsers.h	Mon Jan 18 20:36:02 2010 +0200
@@ -0,0 +1,336 @@
+// Copyright (c) 2003-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:
+//
+
+#ifndef __PARSERS_H
+#define __PARSERS_H
+
+#include "testframeparse.h"
+#include "harness.h"
+
+//
+// This class parses the main section
+class CBioMainSectionParser : public CBaseSectionParser
+	{
+public:
+	static CBioMainSectionParser* NewL(CMainTestHarness& aMainTest, CTestScript& aScript);
+
+protected:
+	void ConstructL();
+	inline CBioMainSectionParser(CMainTestHarness& aMainTest, CTestScript& aScript) : CBaseSectionParser(aScript), iMainTest(aMainTest) {}
+	void LogComment(const TDesC& aComment);
+
+private:
+	CMainTestHarness& iMainTest;
+};
+
+//
+// This class parses the bio_client_test command in the main section
+class CBioMainCommandsParser : public CBaseCommandParser
+{
+public:
+	void ProcessL();
+	static CBioMainCommandsParser* NewL(CTestScript& aScript, CMainTestHarness& aMainTest);
+
+private:
+	void ConstructL();
+	inline CBioMainCommandsParser(CTestScript& aScript, CMainTestHarness& aMainTest) : iMainTest(aMainTest), iScript(aScript) {}
+	CMainTestHarness& iMainTest;
+	CTestScript& iScript;
+};
+
+//
+// This class parses the client secion specified in the bio_client_test cmd
+class CBioClientSectionParser : public CBaseSectionParser
+{
+public:
+	static CBioClientSectionParser* NewL(CClientTestHarness& aTest, CTestScript& aScript, const TDesC& aNewSectionName);
+
+protected:
+	void LogComment(const TDesC& aComment);
+	void ConstructL(const TDesC& aNewSectionName);
+	inline CBioClientSectionParser(CClientTestHarness& aTest, CTestScript& aScript) : CBaseSectionParser(aScript), iClientTest(aTest), iScript(aScript) {}
+
+private: 
+	CClientTestHarness& iClientTest;
+	CTestScript& iScript;
+};
+
+//
+// This class parses the commands in the client secion
+class CBioClientCommandsParser : public CBaseCommandParser
+{
+public:
+	void ProcessL();
+	static CBioClientCommandsParser* NewL(CClientTestHarness& aMainTest);
+
+private:
+	void ConstructL();
+	inline CBioClientCommandsParser(CClientTestHarness& aClientTest) : iClientTest(aClientTest) {}
+	CClientTestHarness& iClientTest;
+};
+
+//
+// This class parses the SmsSettings section
+class CBioSmsSettingsSectionParser : public CBaseSectionParser
+{
+public:
+	static CBioSmsSettingsSectionParser* NewL(CClientTestHarness& aTest, CTestScript& aScript, const TDesC& aNewSectionName);
+
+protected:
+	void LogComment(const TDesC& aComment);
+	void ConstructL(const TDesC& aNewSectionName);
+	inline CBioSmsSettingsSectionParser(CClientTestHarness& aTest, CTestScript& aScript) : CBaseSectionParser(aScript), iClientTest(aTest), iScript(aScript) {}
+
+private: 
+	CClientTestHarness& iClientTest;
+	CTestScript& iScript;
+};
+
+//
+// This class handles the Sms commands
+class CBioSmsSettingsCommandsParser : public CBaseCommandParser
+{
+public:
+	void ProcessL();
+	static CBioSmsSettingsCommandsParser* NewL(CClientTestHarness& aMainTest);
+private:
+	void ConstructL();
+	inline CBioSmsSettingsCommandsParser(CClientTestHarness& aClientTest) : iClientTest(aClientTest) {}
+	CClientTestHarness& iClientTest;	
+};
+
+//
+// This class parses the Pop3Settings section
+class CBioPop3SettingsSectionParser : public CBaseSectionParser
+{
+public:
+	static CBioPop3SettingsSectionParser* NewL(CClientTestHarness& aTest, CTestScript& aScript, const TDesC& aNewSectionName);
+
+protected:
+	void LogComment(const TDesC& aComment);
+	void ConstructL(const TDesC& aNewSectionName);
+	inline CBioPop3SettingsSectionParser(CClientTestHarness& aTest, CTestScript& aScript) : CBaseSectionParser(aScript), iClientTest(aTest), iScript(aScript) {}
+
+private: 
+	CClientTestHarness& iClientTest;
+	CTestScript& iScript;
+};
+
+//
+// This class parses the Pop3Settings section
+class CBioPop3NamedSettingsSectionParser : public CBaseSectionParser
+{
+public:
+	static CBioPop3NamedSettingsSectionParser* NewL(CClientTestHarness& aTest, CTestScript& aScript, const TDesC& aNewSectionName, const TDesC& aSettingsName);
+
+protected:
+	void LogComment(const TDesC& aComment);
+	void ConstructL(const TDesC& aNewSectionName, const TDesC& aSettingsName);
+	inline CBioPop3NamedSettingsSectionParser(CClientTestHarness& aTest, CTestScript& aScript) : CBaseSectionParser(aScript), iClientTest(aTest), iScript(aScript) {}
+
+private: 
+	CClientTestHarness& iClientTest;
+	CTestScript& iScript;
+};
+
+//
+// This class handles the POP3 commands
+class CBioPop3SettingsCommandsParser : public CBaseCommandParser
+{
+public:
+	void ProcessL();
+	static CBioPop3SettingsCommandsParser* NewL(CClientTestHarness& aMainTest);
+private:
+	void ConstructL();
+	inline CBioPop3SettingsCommandsParser(CClientTestHarness& aClientTest) : iClientTest(aClientTest) {}
+	CClientTestHarness& iClientTest;	
+};
+
+//
+// This class parses the SMTPSettings section
+class CBioSmtpSettingsSectionParser : public CBaseSectionParser
+{
+public:
+	static CBioSmtpSettingsSectionParser* NewL(CClientTestHarness& aTest, CTestScript& aScript, const TDesC& aNewSectionName);
+
+protected:
+	void LogComment(const TDesC& aComment);
+	void ConstructL(const TDesC& aNewSectionName);
+	inline CBioSmtpSettingsSectionParser(CClientTestHarness& aTest, CTestScript& aScript) : CBaseSectionParser(aScript), iClientTest(aTest), iScript(aScript) {}
+
+private: 
+	CClientTestHarness& iClientTest;
+	CTestScript& iScript;
+};
+
+//
+// This class parses the SmtpSettings section
+class CBioSmtpNamedSettingsSectionParser : public CBaseSectionParser
+{
+public:
+	static CBioSmtpNamedSettingsSectionParser* NewL(CClientTestHarness& aTest, CTestScript& aScript, const TDesC& aNewSectionName, const TDesC& aSettingsName);
+
+protected:
+	void LogComment(const TDesC& aComment);
+	void ConstructL(const TDesC& aNewSectionName, const TDesC& aSettingsName);
+	inline CBioSmtpNamedSettingsSectionParser(CClientTestHarness& aTest, CTestScript& aScript) : CBaseSectionParser(aScript), iClientTest(aTest), iScript(aScript) {}
+
+private: 
+	CClientTestHarness& iClientTest;
+	CTestScript& iScript;
+};
+
+
+//
+// This class handles the SMTP commands
+class CBioSmtpSettingsCommandsParser : public CBaseCommandParser
+{
+public:
+	void ProcessL();
+	static CBioSmtpSettingsCommandsParser* NewL(CClientTestHarness& aMainTest);
+private:
+	void ConstructL();
+	inline CBioSmtpSettingsCommandsParser(CClientTestHarness& aClientTest) : iClientTest(aClientTest) {}
+	CClientTestHarness& iClientTest;	
+};
+
+
+//
+// This class parses the ImapSettings section
+class CBioImapSettingsSectionParser : public CBaseSectionParser
+{
+public:
+	static CBioImapSettingsSectionParser* NewL(CClientTestHarness& aTest, CTestScript& aScript, const TDesC& aNewSectionName);
+
+protected:
+	void LogComment(const TDesC& aComment);
+	void ConstructL(const TDesC& aNewSectionName);
+	inline CBioImapSettingsSectionParser(CClientTestHarness& aTest, CTestScript& aScript) : CBaseSectionParser(aScript), iClientTest(aTest), iScript(aScript) {}
+
+private: 
+	CClientTestHarness& iClientTest;
+	CTestScript& iScript;
+};
+
+
+
+//
+// This class parses the ImapSettings section
+class CBioImapNamedSettingsSectionParser : public CBaseSectionParser
+{
+public:
+	static CBioImapNamedSettingsSectionParser* NewL(CClientTestHarness& aTest, CTestScript& aScript, const TDesC& aNewSectionName, const TDesC& aSettingsName);
+
+protected:
+	void LogComment(const TDesC& aComment);
+	void ConstructL(const TDesC& aNewSectionName, const TDesC& aSettingsName);
+	inline CBioImapNamedSettingsSectionParser(CClientTestHarness& aTest, CTestScript& aScript) : CBaseSectionParser(aScript), iClientTest(aTest), iScript(aScript) {}
+
+private: 
+	CClientTestHarness& iClientTest;
+	CTestScript& iScript;
+};
+
+
+//
+// This class handles the Imap commands
+class CBioImapSettingsCommandsParser : public CBaseCommandParser
+{
+public:
+	void ProcessL();
+	static CBioImapSettingsCommandsParser* NewL(CClientTestHarness& aMainTest);
+private:
+	void ConstructL();
+	inline CBioImapSettingsCommandsParser(CClientTestHarness& aClientTest) : iClientTest(aClientTest) {}
+	CClientTestHarness& iClientTest;	
+};
+
+//
+// This class parses the CommDB section
+class CBioCommDBSectionParser : public CBaseSectionParser
+{
+public:
+	static CBioCommDBSectionParser* NewL(CClientTestHarness& aTest, CTestScript& aScript, const TDesC& aTableName, const TDesC& aNewSectionName);
+	void SectionFinishedL(TTestDebugInfo& aDebugInfo);
+
+protected:
+	void LogComment(const TDesC& aComment);
+	void ConstructL(const TDesC& aTableName, const TDesC& aNewSectionName);
+	inline CBioCommDBSectionParser(CClientTestHarness& aTest, CTestScript& aScript) : CBaseSectionParser(aScript), iClientTest(aTest), iScript(aScript) {}
+
+private: 
+	CClientTestHarness& iClientTest;
+	CTestScript& iScript;
+};
+
+//
+// This class handles the CommDB commands
+class CBioCommDBCommandParser : public CBaseCommandParser
+{
+public:
+	void ProcessL();
+	static CBioCommDBCommandParser* NewL(CClientTestHarness& aMainTest, const TDesC& aTableName);
+	void SectionFinishedL(TTestDebugInfo& aDebugInfo);
+
+private:
+	void ConstructL();
+	inline CBioCommDBCommandParser(CClientTestHarness& aClientTest, const TDesC& aTableName) : iClientTest(aClientTest), iTableName(aTableName) {}
+
+private:
+	CClientTestHarness& iClientTest;
+	TBuf<50> iTableName;
+};
+
+//
+// This class parses the gen_msg_from_section section
+class CBioGenMsgCommandParser;
+class CBioGenMsgSectionParser : public CBaseSectionParser
+{
+public:
+	static CBioGenMsgSectionParser* NewL(CClientTestHarness& aTest, CTestScript& aScript, const TDesC& aNewSectionName);
+	void SectionFinishedL();
+
+protected:
+	void LogComment(const TDesC& aComment);
+	void ConstructL(const TDesC& aNewSectionName);
+	inline CBioGenMsgSectionParser(CClientTestHarness& aTest, CTestScript& aScript) : CBaseSectionParser(aScript), iClientTest(aTest), iScript(aScript) {}
+
+private: 
+	CClientTestHarness& iClientTest;
+	CTestScript& iScript;
+	CBioGenMsgCommandParser* iCmdParser;	// Created, but NOT owned by us.
+};
+
+//
+// This class parses the commands in the gen_msg_from_section section
+class CBioGenMsgCommandParser : public CBaseCommandParser
+{
+public:
+	void ProcessL();
+	static CBioGenMsgCommandParser* NewL(CClientTestHarness& aMainTest);
+	void SectionFinishedL();
+
+private:
+	void ConstructL();
+	inline CBioGenMsgCommandParser(CClientTestHarness& aClientTest) : iClientTest(aClientTest) {}
+	inline ~CBioGenMsgCommandParser() { delete iBuffer; }
+
+private:
+	CClientTestHarness& iClientTest;
+	HBufC* iBuffer;
+	TBIOMessageType iMsgType;
+};
+
+#endif