#ifndef _DeltaTMessage_H
#define _DeltaTMessage_H

#include "MessageQueue.h"
#define DeltaTMessageQueueName "DeltaTMessages"


class DeltaTMessage : public MessageQueue {
  public:
    enum DeltaTMessages {
      None = 0,
      StartMVCLogging,
      StopMVCLogging,
      SetLogging,
      SetGain,
      SetGainEq,
      SetSOS,
      SetNBeams,
      SetSectorSize,
      SetBeamWidth,
      SetAveraging,
      SetRange
    };

    struct Message {
      DeltaTMessages _msg;
      int   _int;
      float _float;

      Message() {
        _msg = DeltaTMessage::None;
        _int = 0; _float = 0.;
      };

      Message(DeltaTMessages msg) {
	Message();
        _msg = msg;
      };

      Message(DeltaTMessages msg, int attr) {
	Message();
        _msg = msg;
        _int = attr;
      };

      Message(DeltaTMessages msg, float attr) {
	Message();
        _msg = msg;
        _float = attr;
      };
    };

  DeltaTMessage( MessageQueue::Access access, const char* q_name )
     : MessageQueue( q_name, sizeof( Message ), 5, access, False ) {}

  ~DeltaTMessage() {}

  int read( Message *msg ) {return MessageQueue::read((void *)msg);}
  int write( Message *msg ) {return MessageQueue::write((void *)msg);}
};
#endif
