commsfwtools/preparedefaultcommsdatabase/Tools/ced/inc/CIniFile.h
changeset 0 dfb7c4ff071f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commsfwtools/preparedefaultcommsdatabase/Tools/ced/inc/CIniFile.h	Thu Dec 17 09:22:25 2009 +0200
@@ -0,0 +1,114 @@
+// Copyright (c) 1997-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:
+//
+
+/**
+ @file
+ @internalTechnology
+*/
+
+#if !defined(__CINIFILE_H__)
+#define __CINIFILE_H__
+
+#include <e32base.h>
+#include "dbdef.h"
+
+/**
+Macro for build independent literal ADD_SECTION
+*/
+#define BEGIN_ADD			_L("ADD_SECTION")
+
+/**
+Macro for build independent literal ADD_SECTION
+*/
+#define BEGIN_TEMPLATE		_L("ADD_TEMPLATE")
+
+/**
+Macro for build independent literal ADD_SECTION
+*/
+#define BEGIN_SET			_L("SET_SECTION")
+
+/**
+Macro for build independent literal END_ADD
+*/
+#define END_ADD				_L("END_ADD")
+
+/**
+Macro for build independent literal END_TEMPLATE
+*/
+#define END_TEMPLATE		_L("END_TEMPLATE")
+
+/**
+Macro for build independent literal END_SET
+*/
+#define END_SET				_L("END_SET")
+
+/**
+Macro for build independent literal SET_CONDITION
+*/
+#define CONDITION			_L("SET_CONDITION")
+
+/**
+Macro for build independent literal FIELD_COUNT
+*/
+#define FIELD_COUNT			_L("FIELD_COUNT")
+
+#define E_UNKNOWN			0
+
+#define E_ADD				1
+
+#define E_SET				2
+
+#define E_TEMPLATE			3
+
+class LinkByTagResolver;
+
+NONSHARABLE_CLASS(CIniData) : public CBase 
+/**
+@internalComponent
+*/
+	{
+	friend class LinkByTagResolver;
+public:
+	// Constructor, pass in name of CFG file to open, relative to RAM root
+	static CIniData* NewL(const TDesC& aName);
+	virtual ~CIniData();
+	
+	// methods for enumerating through ADD or SET sections
+	// within a particular section
+	TInt OpenSetBlock(const TDesC &aSection);
+	TInt OpenTemplateBlock(const TDesC &aSection);
+	TInt OpenAddBlock(const TDesC &aSection);
+	TInt StepToNextBlock();
+	TInt GetSetting(const TDesC &aValue, TPtrC & aSetting);
+	
+protected:
+	CIniData();
+	
+private:
+	HBufC* iName;
+	HBufC* iToken;
+	TPtr iPtr;
+	TPtr section;
+	TPtr block;
+	TInt BlockState;
+	TInt blockStart;
+	TInt blockEnd;
+	TInt scanStart;
+	
+	TInt OpenBlock(const TDesC &aSection);
+	void ConstructL(const TDesC& aName);
+	};
+
+#endif