Skip to content
Snippets Groups Projects
CbmMQChannels.h 783 B
Newer Older
/* Copyright (C) 2019 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt
   SPDX-License-Identifier: GPL-3.0-only
   Authors: Florian Uhlig [committer] */
#ifndef CBMMQCHANNELS_H_
#define CBMMQCHANNELS_H_

#include "FairMQDevice.h"

#include <string>
Administrator's avatar
Administrator committed
#include <vector>
Administrator's avatar
Administrator committed
class CbmMQChannels {
public:
  CbmMQChannels(std::vector<std::string>);
Administrator's avatar
Administrator committed

  bool IsChannelNameAllowed(std::string channelName);
  bool CheckChannels(FairMQDevice* device);
Administrator's avatar
Administrator committed

  std::vector<int> GetComponentsToSend() { return fComponentsToSend; }
  std::vector<std::vector<std::string>> GetChannelsToSend() { return fChannelsToSend; }
Administrator's avatar
Administrator committed

private:
  std::vector<std::string> fAllowedChannels {};
  std::vector<int> fComponentsToSend {};
Administrator's avatar
Administrator committed
  std::vector<std::vector<std::string>> fChannelsToSend {{}};