commsfwtools/preparedefaultcommsdatabase/Tools/ceddump/inc/ceddumper.h
changeset 0 dfb7c4ff071f
child 25 9d7ce34704c8
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commsfwtools/preparedefaultcommsdatabase/Tools/ceddump/inc/ceddumper.h	Thu Dec 17 09:22:25 2009 +0200
@@ -0,0 +1,122 @@
+// Copyright (c) 2004-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:
+// Contains the global definitions needed across the ceddump module/exe
+//
+//
+
+/**
+ @file
+ @publishedAll
+ @released
+*/
+
+#ifndef CEDDUMPER_H
+#define CEDDUMPER_H
+
+
+#include <e32base.h>
+#include "filedump.h"
+#include "ceddumpglobals.h"
+
+#ifdef SYMBIAN_NETWORKING_3GPPDEFAULTQOS
+#include "R99QoSConversion.h"
+#endif
+
+class CConsoleBase;
+
+#define MAX_BUFFER_LEN          256 // max length of path/filename/column/table name
+#define MAX_COL_NAME_LEN        64
+#define MAX_ARG_LEN				(MAX_BUFFER_LEN * 3) // max length of arg list to program
+
+#ifdef __TOOLS2__
+#define DEFAULTCFGFILENAME		_S("cedout.cfg") //Default out put file ( .cfg format )
+#else
+#define DEFAULTCFGFILENAME		_S("C:\\cedout.cfg") //Default out put file ( .cfg format )
+#endif
+
+//_LIT(APPLICATIONNAME,"CommsData Database Dump Utility");
+//_LIT(APPLICATIONVERSION,"1.0");
+#define TRUE_VAL				_S("TRUE")
+#define FALSE_VAL				_S("FALSE")
+
+
+class CCedDumper : public CBase
+	{
+	public:
+		static CCedDumper* NewL();
+		~CCedDumper();
+
+		TInt OpenL();
+		void HelpDump();
+		TInt ProcessCommandLineL();
+		TBool ParseCommandLine();
+		void DumpContents();
+		void PrintError(TInt error);
+		void GetRecordTypeL(TMDBElementId aRecordElementId);
+		void WriteTableAttributes(TDesC &iTableName);
+		void WriteTemplateAndRecordsL();
+		void GetColumnAttributeAndValuesL(TInt aRecordId);
+		void ResetAllAttrubuteFlags();
+		TBool ConvertEnums(TPtrC &theColumn, TPtrC &setting);
+		TBool ConvertRecordLinks(TPtrC &theColumn, TPtrC &setting, CMDBElement* aField);
+		TBool IsLinkedField(TPtrC &theColumn, TPtrC &setting, CMDBElement& aField);
+
+#ifdef SYMBIAN_NETWORKING_3GPPDEFAULTQOS
+		CR99QoSConversion::TConvRecordType CheckAndPerformConversion(TPtrC &theColumn, TPtrC &setting);
+		void WriteR99Conversion();
+#endif
+// SYMBIAN_NETWORKING_3GPPDEFAULTQOS
+
+	protected:
+		void ConstructL();
+
+	private:
+		TBool FillBufferWithLink(TUint32 aIndex, TPtrC& aColumn, TPtrC& aSetting, CMDBElement* aField);
+
+		// This method can handle only Fields pointed by CMDBElement pointers!!!
+		TBool IsFieldValuesTheSame(CMDBElement* aFirstField, CMDBElement* aSecondField, TInt aFieldTypeValue);
+		
+		//This function is for resolving the inconsistent table names in CommsDat and CommDB - unfortunatly CED and CEDDUMP is using
+		//the CommDB variant. :(((((
+		//Please note: As long as the naming for the new follows the rule, which is to have the same name in the CommsDat and CommDB components,
+		//this function doesn't need to be modified.
+		void ResolveCommsDatTableNameVariant_to_CommdbTableNameVariant(RBuf& aCommsdatTableName);
+
+	private:
+		CMDBSession* iDbSession; // Session to connect to CenRep
+		CMDBRecordSetBase *iTable; //To get the Record type
+		CMDBRecordBase* iRecordBase;
+		CMDBRecordBase* iTemplateRecordBase;
+		CConsoleBase* iConsole; // Handle to write to console
+
+		CFileDump* iFileDumper; // Handle to write to output file
+
+		TBuf<MAX_BUFFER_LEN> iCfgFileName; // To hold the out put file name
+
+		TBool iIsHiddenSet;
+		TBool iIsPrivateSet;
+		TBool iIsProtectedReadSet;
+		TBool iIsProtectedWriteSet;
+
+#ifdef SYMBIAN_NETWORKING_3GPPDEFAULTQOS
+		TBool iR99Conversion; // flag indicating a conversion of QoS GPRS values from R97/98 to R99/R4
+		CR99QoSConversion *iR99ConversionRecordsHead;  	// uni direction list head of conversion output tables
+		CR99QoSConversion *iR99ConversionRecordsCurrent; 	// conversion output table which is being build
+#endif
+// SYMBIAN_NETWORKING_3GPPDEFAULTQOS
+        TBool iUseHexFormat;
+        TBool iROHIDSupport;
+	};
+
+#endif