// $Id$

#ifndef __RUGGEDOCU_HH__
#define __RUGGEDOCU_HH__



extern class RuggedOCU* ruggedocu;

//--------------------------------------------------------------------
//
//  class RuggedOCU
//

class RuggedOCU
{
public:
  // Constructor / Destructor
  RuggedOCU(const char*);
  ~RuggedOCU();

  void main();  

  void stop() { done = true; }

  const int localport;
  const int remoteport;
  const char* remotehost;
  const int dbid;

  class CommManager* comm; 
  class RemoteManager* rmt;
  class DBClient* dbclient;
  class ModeSelect* ms;
  class DrivingCamera* camera;
  class StateProxy* state;
  class Display* display;
  class Gait* gait;
  class EntryList* entrylist;
  class Logger* logger;
  class GPSNav* navigator;

private:
  class JoyThread* joy;

  void processjoystick();
  
  bool done;
};

#endif // __RUGGEDOCU_HH__

