Skip to content
Base_Provider.h 717 B
Newer Older
Valerio Pastore's avatar
Valerio Pastore committed
/*
 *
 *  Created on: Mar 1, 2021
 *      Author: astrisw
 *
 */

#ifndef BASEPROVIDER_H_
#define BASEPROVIDER_H_

#include <string>
Valerio Pastore's avatar
Valerio Pastore committed
#include <PacketLib/Base_Packet.h>
Valerio Pastore's avatar
Valerio Pastore committed

namespace inaf::oasbo::Providers {
Valerio Pastore's avatar
Valerio Pastore committed
class BaseProvider{
protected:
	std::string dest;
public:
	template<typename Value, template<typename> typename Container>
	int write(PacketLib::BasePacket<Container,Value> &);
	template<typename Value, template<typename> typename Container>
	int write(PacketLib::BasePacket<Container,Value> &, std::string dest);

Valerio Pastore's avatar
Valerio Pastore committed
	virtual int open()=0;
	virtual int close()=0;
	virtual void setDest(std::string dest) = 0;
	virtual std::string getDest() = 0;
	virtual ~BaseProvider() = default;
};
Valerio Pastore's avatar
Valerio Pastore committed
#endif /* BASEPROVIDER_H_ */