// Borland C++ Builder
// Copyright (c) 1995, 2005 by Borland Software Corporation
// All rights reserved

// (DO NOT EDIT: machine generated header) 'Inheaderlist.pas' rev: 10.00

#ifndef InheaderlistHPP
#define InheaderlistHPP

#pragma delphiheader begin
#pragma option push
#pragma option -w-      // All warnings off
#pragma option -Vx      // Zero-length empty class member functions
#pragma pack(push,8)
#include <System.hpp>	// Pascal unit
#include <Sysinit.hpp>	// Pascal unit
#include <Classes.hpp>	// Pascal unit

//-- user supplied -----------------------------------------------------------

namespace Inheaderlist
{
//-- type declarations -------------------------------------------------------
class DELPHICLASS TInHeaderList;
class PASCALIMPLEMENTATION TInHeaderList : public Classes::TStringList 
{
	typedef Classes::TStringList inherited;
	
protected:
	AnsiString FNameValueSeparator;
	bool FCaseSensitive;
	bool FUnfoldLines;
	bool FFoldLines;
	int FFoldLinesLength;
	void __fastcall DeleteFoldedLines(int Index);
	Classes::TStringList* __fastcall FoldLine(AnsiString AString);
	void __fastcall FoldAndInsert(AnsiString AString, int Index);
	HIDESBASE AnsiString __fastcall GetName(int Index);
	HIDESBASE AnsiString __fastcall GetValue(const AnsiString AName);
	HIDESBASE void __fastcall SetValue(const AnsiString Name, const AnsiString Value);
	AnsiString __fastcall GetValueFromLine(int ALine);
	AnsiString __fastcall GetNameFromLine(int ALine);
	
public:
	void __fastcall AddStdValues(Classes::TStrings* ASrc);
	void __fastcall ConvertToStdValues(Classes::TStrings* ADest);
	__fastcall TInHeaderList(void);
	void __fastcall Extract(const AnsiString AName, Classes::TStrings* ADest);
	HIDESBASE int __fastcall IndexOfName(const AnsiString AName);
	__property AnsiString Names[int Index] = {read=GetName};
	__property AnsiString Values[AnsiString Name] = {read=GetValue, write=SetValue};
	__property AnsiString NameValueSeparator = {read=FNameValueSeparator, write=FNameValueSeparator};
	__property bool CaseSensitive = {read=FCaseSensitive, write=FCaseSensitive, nodefault};
	__property bool UnfoldLines = {read=FUnfoldLines, write=FUnfoldLines, nodefault};
	__property bool FoldLines = {read=FFoldLines, write=FFoldLines, nodefault};
	__property int FoldLength = {read=FFoldLinesLength, write=FFoldLinesLength, nodefault};
public:
	#pragma option push -w-inl
	/* TStringList.Destroy */ inline __fastcall virtual ~TInHeaderList(void) { }
	#pragma option pop
	
};


//-- var, const, procedure ---------------------------------------------------

}	/* namespace Inheaderlist */
using namespace Inheaderlist;
#pragma pack(pop)
#pragma option pop

#pragma delphiheader end.
//-- end unit ----------------------------------------------------------------
#endif	// Inheaderlist
