10 #ifndef CORE_PROTOCOL_BASE_ICOMM_HPP
11 #define CORE_PROTOCOL_BASE_ICOMM_HPP
14 #include <boost/variant.hpp>
20 #define REGISTER_COMM(T) static protocol::base::CommMaker<T> maker(#T)
27 using Variant = boost::variant<bool,int,unsigned int,short,double,std::string>;
45 virtual void Connect(
const std::string& device,
const std::string& address) = 0;
48 virtual void Rpc(
const std::string& obj,
49 const std::string& proc,
virtual ~IComm()
Definition: iComm.hpp:59
virtual void StopMonitorItem(const std::string &item)=0
virtual void StartMonitorItem(const std::string &item)=0
virtual void RegisterCB(protocol::base::Dispatcher< protocol::base::VectorVariant & > &dispatcher, protocol::base::Dispatcher<> &failure, protocol::base::Dispatcher<> &normal)=0
virtual void Rpc(const std::string &obj, const std::string &proc, const VectorVariant ¶ms, Variant &result)=0
virtual void Connect(const std::string &device, const std::string &address)=0
virtual void StartMonitorItems(const std::vector< std::string > &item_vector)=0
virtual void Write(const VectorVariant ¶ms)=0
virtual void Disconnect()=0
virtual void Read(VectorVariant ¶ms)=0
std::vector< PairVariant > VectorVariant
Definition: iComm.hpp:39
std::pair< std::string, Variant > PairVariant
Definition: iComm.hpp:37
boost::variant< bool, int, unsigned int, short, double, std::string > Variant
Definition: iComm.hpp:27
@ TYPE_BOOL
Definition: iComm.hpp:29
@ TYPE_STRING
Definition: iComm.hpp:34
@ TYPE_SHORT
Definition: iComm.hpp:32
@ TYPE_INT
Definition: iComm.hpp:30
@ TYPE_DOUBLE
Definition: iComm.hpp:33
@ TYPE_UINT
Definition: iComm.hpp:31
std::list< PairVariant > ListVariant
Definition: iComm.hpp:38
Definition: commFactory.cpp:15