diff -r 000000000000 -r dfb7c4ff071f commsfwtools/preparedefaultcommsdatabase/Tools/ceddump/inc/ceddumper.h --- /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 +#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 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