/************************************************************/
/*    NAME: Thomas                                              */
/*    ORGN: MIT                                             */
/*    FILE: Controller.h                                          */
/*    DATE: December 29th, 1963                             */
/************************************************************/

#ifndef Controller_HEADER
#define Controller_HEADER

#include "MOOS/libMOOS/Thirdparty/AppCasting/AppCastingMOOSApp.h"
#include <string>
#include "interval.h"

class Controller : public AppCastingMOOSApp
{
 public:
   Controller();
   ~Controller() {};

   interval str2interval(string chaine);

 protected: // Standard MOOSApp functions to overload  
   bool OnNewMail(MOOSMSG_LIST &NewMail);
   bool Iterate();
   bool OnConnectToServer();
   bool OnStartUp();

 protected:
   void registerVariables();

 private: // Configuration variables
 	double desired_vx, desired_heading, desired_pitch;
 	double estim_vx, estim_heading, estim_pitch;

 	double desired_thrust, desired_hrudder, desired_vrudder;
 private: // State variables
};

#endif 
