#ifndef LINUX_OBC_PTMEIF_H_
#define LINUX_OBC_PTMEIF_H_

#include <linux/ipcore/VirtualChannelIF.h>

#include "fsfw/returnvalues/returnvalue.h"

/**
 * @brief   Interface class for managing the PTME IP Core implemented in the programmable logic.
 *
 * @details PTME IP Core: https://www.esa.int/Enabling_Support/Space_Engineering_Technology/
 *                        Microelectronics/PTME
 * @author  J. Meier
 */
class PtmeIF {
 public:
  virtual ~PtmeIF(){};

  virtual bool containsVc(uint8_t vcId) const = 0;
  virtual VirtualChannelIF* getVirtChannel(uint8_t vcId) = 0;
};

#endif /* LINUX_OBC_PTMEIF_H_ */