#ifndef MASTERAGENTHANDLEROFAGENT_HEADERFILE
#define MASTERAGENTHANDLEROFAGENT_HEADERFILE

#include "SlotOfAgent.h"
#include "Unit.h"

class MasterAgentHandlerOfAgent : public Unit {

private:
  SlotOfAgent *masterAgentSlotOfAgent;

  list<Message *> lSendBuffer;
  unsigned int maxBufferLength;

public:
  MasterAgentHandlerOfAgent();

  bool mount_masterAgentIntoSlaveAgentSlot(Channel *comPort);
  SlotOfAgent *get_masterAgentSlotAddress();
  bool demount_masterAgent();

  bool set_maxBufferLength(unsigned int maxBufferLength);
  unsigned int get_maxBufferLength();

  bool pass_msgToSendBuffer(float msg);
  bool pass_msgToSendBuffer(int msg);
  unsigned int get_avlSendBuffer();
  unsigned int get_occSendBuffer();
  bool send_msgs();
};

#endif
