/* FILENAME      : TNavConfig.h
 * AUTHOR        : Henthorn
 * DATE          : 02/06/17
 * DESCRIPTION   : TNavConfig is designed to be a singleton class in the
 *                 TerrainNav app. Clean method for components to access
 *                 configuration items.
 *                 TerrainNav creates and initializes the configuration items
 *                 in TNavConfig. Those items are then used throughout the app.
 * DEPENDENCIES  : TerrainNav.h
 * -----------------------------------------------------------------------------
 * Modification History
 * -----------------------------------------------------------------------------
 *    
 ******************************************************************************/

#ifndef _TNavConfig_h
#define _TNavConfig_h

class TerrainNav;

class TNavConfig
{
   //friend TerrainNav;

   //TNavConfig();

public:

   static TNavConfig* instance()
   {
      static TNavConfig *_instance;
      if (_instance) return _instance;
      else return _instance = new TNavConfig();
   }

   TNavConfig();
   ~TNavConfig();

   char *getVehicleSpecsFile();
   char *getParticlesFile();
   char *getMapFile();
   char *getLogDir();
   void setMapFile(char *filename);


   void setParticlesFile(char *filename);
   void setVehicleSpecsFile(char *filename);
   void setLogDir(char *filename);

protected:
   char *_vehicleSpecsFile;
   char *_particlesFile;
   char *_mapFile;
   char *_logDir;
};

#endif
