#ifndef _BIP_Engine_InteractionValueItf_HPP_
#define _BIP_Engine_InteractionValueItf_HPP_

#include <bip-engineiface-config.hpp>
using namespace bipbasetypes;
using namespace biptypes;

// inherited classes
#include "InteractionItf.hpp"

// used classes
#include "Interaction.hpp"

// referenced classes
class PortValue;

class Component;

class InteractionValueItf : public virtual InteractionItf {
 public:
  // destructor
  virtual ~InteractionValueItf();

  // operations
  virtual void recycle() = 0;
  virtual const vector<PortValue *> &portValues() const = 0;
  virtual bool hasPortValues() const = 0;

 protected:
  // protected constructors
  InteractionValueItf(const Connector &connector);
};

#endif // _BIP_Engine_InteractionValueItf_HPP_
