// CodeGear C++Builder
// Copyright (c) 1995, 2023 by Embarcadero Technologies, Inc.
// All rights reserved

// (DO NOT EDIT: machine generated header) 'FMX.uecMapGPXParser.pas' rev: 36.00 (Windows)

#ifndef Fmx_UecmapgpxparserHPP
#define Fmx_UecmapgpxparserHPP

#pragma delphiheader begin
#pragma option push
#if defined(__BORLANDC__) && !defined(__clang__)
#pragma option -w-      // All warnings off
#pragma option -Vx      // Zero-length empty class member 
#endif
#pragma pack(push,8)
#include <System.hpp>
#include <SysInit.hpp>
#include <System.SysUtils.hpp>
#include <System.Types.hpp>
#include <System.UITypes.hpp>
#include <System.Rtti.hpp>
#include <System.Classes.hpp>
#include <System.SyncObjs.hpp>
#include <System.UIConsts.hpp>
#include <FMX.ectXml.hpp>
#include <FMX.uecMapUtil.hpp>

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

namespace Fmx
{
namespace Uecmapgpxparser
{
//-- forward type declarations -----------------------------------------------
class DELPHICLASS TECMapGPXParser;
//-- type declarations -------------------------------------------------------
enum DECLSPEC_DENUM TgpxType : unsigned char { gtNone, gtWpt, gtWptEle, gtTrk, gtRte, gtWptName, gtWptDescription, gtWptPropertie, gtTrkName, gtTrkDescription, gtTrkPropertie, gtTrkPtEle, gtTrkPt, gtTrkPtDescription, gtTrkPtTime, gtWptTime };

#pragma pack(push,4)
class PASCALIMPLEMENTATION TECMapGPXParser : public Fmx::Ectxml::TectXML
{
	typedef Fmx::Ectxml::TectXML inherited;
	
private:
	TgpxType FgpxType;
	System::UnicodeString FMarkers;
	System::UnicodeString FMarkersProp;
	System::UnicodeString FLines;
	System::UnicodeString FPtText;
	System::UnicodeString FPtAlt;
	System::UnicodeString FLinesAlt;
	System::UnicodeString FPtTime;
	System::UnicodeString FLinesTime;
	System::UnicodeString FLinesText;
	System::UnicodeString FLinesProp;
	System::UnicodeString FLinesLatLng;
	System::UnicodeString FTagExtension;
	
protected:
	virtual void __fastcall doOnText();
	virtual void __fastcall doOnTag();
	
public:
	System::UnicodeString __fastcall StrToECMap(const System::UnicodeString gpxValue);
	System::UnicodeString __fastcall LoadFileToECMap(System::UnicodeString gpxFile);
	__fastcall TECMapGPXParser();
	__fastcall virtual ~TECMapGPXParser();
};

#pragma pack(pop)

//-- var, const, procedure ---------------------------------------------------
extern DELPHI_PACKAGE System::UnicodeString __fastcall GpxToECMap(const System::UnicodeString gpxValue);
extern DELPHI_PACKAGE System::UnicodeString __fastcall GpxFileToECMap(const System::UnicodeString gpxFile);
}	/* namespace Uecmapgpxparser */
}	/* namespace Fmx */
#if !defined(DELPHIHEADER_NO_IMPLICIT_NAMESPACE_USE) && !defined(NO_USING_NAMESPACE_FMX_UECMAPGPXPARSER)
using namespace Fmx::Uecmapgpxparser;
#endif
#if !defined(DELPHIHEADER_NO_IMPLICIT_NAMESPACE_USE) && !defined(NO_USING_NAMESPACE_FMX)
using namespace Fmx;
#endif
#pragma pack(pop)
#pragma option pop

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