#ifndef KML_HPP #define KML_HPP #include "../JuceLibraryCode/JuceHeader.h" #include "IHttp.hpp" #include "IKml.hpp" class Kml : public IKml, public IHttpListener { public: Kml(const char *pDocRoot); ~Kml(void); void setAltitudeMode(String const &modeString); void setPathColor(String const &colorString); void setCameraAltitude(float alt_meters); void setCameraTilt(float tilt_deg); void setCameraAutoHeading(bool enable); void setCameraAutoRoll(bool enable); private: CriticalSection m_lock; ScopedPointer kml; XmlElement *m_pPlanePlaceMark; XmlElement *m_pPathPlaceMark; XmlElement *m_pCameraPlaceMark; char m_path[1024]; const char *m_docRoot; String m_altitudeModeString; String m_pathColorString; float m_cameraAlt; float m_cameraTilt; bool m_cameraAutoHeading; bool m_cameraAutoRoll; void create(); void destroy(); const char* getPath(); void update(FlightData const &flightData); void exportKml(const char *pPath); void exportKmz(const char *pPath); void updatePlane(FlightData const &flightData); void updatePath(FlightData const &flightData); void onUpdate(const char *pPath, ViewFormat const &viewFormat); }; #endif // !KML_HPP