/****************************************************************************/
/* Copyright (c) MIT Sea Grant                                              */
/* MIT Sea Grant Proprietary Information. All rights reserved.              */
/****************************************************************************/
/* Summary  :                                                               */
/* Filename : ScheduleServer                                                */
/* Author   : Don Eickstedt                                                 */
/* Project  :                                                               */
/* Version  : 1.0                                                           */
/* Created  : 06/06/2000                                                    */
/* Modified :                                                               */
/* Archived :                                                               */
/****************************************************************************/
/* Modification History:                                                    */
/****************************************************************************/

#ifndef _ScheduleServer_H
#define _ScheduleServer_H

#include "PeriodicTask.h"
#include "LblIF.h"
//#include "ModemIF.h"
#include "LayeredControlIF.h"


class ScheduleServer : public PeriodicTask {


public:

  ScheduleServer(int millisec, Boolean test = False);
  ~ScheduleServer();

  //virtual void run();

protected:

  void missionStartCallback(TaskInterface *taskInterface,
                                          EventCode code);

  void missionStopCallback(TaskInterface *taskInterface,
                                          EventCode code);

  void callback();

  double  ping_start,ping_interval,modem_start,modem_interval,ref_time,modem_time,ping_time;

  Boolean mission_running,modem_started,ping_started;

  //  ModemIF *_uam;

  LblIF *_lbl;

  //EventService     *_eventService;

  //EventTriggers    *_EventTriggers;

  LayeredControlIF *_LayeredCtl;

};
#endif
