#ifndef _AmcMessage_H
#define _AmcMessage_H

#include "MessageQueue.h"
#define AmcMessageQueueName "amcMessages"


class AmcMessage : public MessageQueue {
  public:
    enum AmcMessages {
      None = 0,
      BehaviorStarted,
      BehaviorFinished
    };

    struct Message {
      AmcMessages _msg;
    	long _behaviorId;

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

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

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

  ~AmcMessage() {}

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