#ifndef _VcsMessage_H
#define _VcsMessage_H

#include "MessageQueue.h"
#define VcsMessageQueueName "VcsMessages"


class VcsMessage : public MessageQueue {
  public:
    enum VcsMessages {
      None = 0,
      BehaviorStarted,
      BehaviorFinished,
      MissionAborted
    };

    struct Message {
      VcsMessages _msg;
    	long _behaviorId;

      Message() {
        _msg = VcsMessage::None;
        _behaviorId = 0;
      };

      Message(VcsMessages msg, long id) {
        _msg = msg;
        _behaviorId = id;
      };
    };

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

  ~VcsMessage() {}

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