testtoolsconn/stat/desktop/source/lib/inc/statscriptdecoder.h
changeset 0 3da2a79470a7
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/testtoolsconn/stat/desktop/source/lib/inc/statscriptdecoder.h	Mon Mar 08 15:04:18 2010 +0800
@@ -0,0 +1,68 @@
+/*
+* Copyright (c) 2005-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 STATSCRIPTDECODER_H
+#define STATSCRIPTDECODER_H
+
+#include "stat.h"
+#include "CSTATDataFormatConverter.h"
+#include "CSTATImageVerify.h"
+
+class CSTATScriptCommand
+{
+public:
+	CSTATScriptCommand();
+	~CSTATScriptCommand();
+	char *Command()			{ return pCommand; }
+	unsigned long Length()	{ return ulLength; }
+	bool SetData(const char *pData, const unsigned long theLength);
+	void Reset();
+
+	char cCommandID;
+	unsigned long ulLength;
+
+private:
+	char *pCommand;
+};
+
+class CSTATScriptDecoder
+{
+public:
+	CSTATScriptDecoder(CSTATLogFile *theLog);
+	~CSTATScriptDecoder();
+	int Initialise(const CString& file, bool bIsFile);
+	int GetNextCommand(CSTATScriptCommand **ppCommand);
+	void Release();
+
+private:
+	int ReadDataIntoMemory(const CString& commands);
+	int ReadFileIntoMemory(CFile& scriptdata);
+	int ValidateScript();
+	int ExtractComment();
+	bool IncrementCounter(void);
+
+	CSTATLogFile *pLog;
+	char *lpBuffer;										// buffer that holds read script file
+	long lFileLength;									// length of file read
+	int iCounter;										// step counter through file
+	CSTATScriptCommand LastCommand;
+};
+
+#endif