22 #include <boost/uuid/uuid.hpp>
24 #ifndef _SANDESH_PROTOCOL_TVIRTUALPROTOCOL_H_
25 #define _SANDESH_PROTOCOL_TVIRTUALPROTOCOL_H_ 1
29 #include <sandesh/protocol/TProtocol.h>
31 namespace contrail {
namespace sandesh {
namespace protocol {
52 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
58 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
65 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
71 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
78 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
84 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
90 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
96 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
107 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
113 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
122 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
128 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
136 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
142 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
150 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
156 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
163 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
168 int32_t
readBool(std::vector<bool>::reference value) {
170 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
177 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
184 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
191 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
198 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
205 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
212 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
219 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
226 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
233 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
240 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
247 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
254 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
261 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
268 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
275 const int32_t seqid) {
279 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
285 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
292 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
298 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
305 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
311 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
317 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
323 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
329 const TType fieldType,
330 const int16_t fieldId,
331 const std::map<std::string, std::string> *
const amap = NULL) {
335 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
341 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
347 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
354 const uint32_t size) {
358 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
364 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
372 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
378 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
386 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
392 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
399 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
406 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
413 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
420 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
427 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
434 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
441 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
448 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
455 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
462 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
469 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
476 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
483 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
490 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
497 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
516 template <
class Protocol_,
class Super_=TProtocolDefaults>
525 const int32_t seqid) {
526 return static_cast<Protocol_*
>(
this)->writeMessageBegin(name, messageType,
531 return static_cast<Protocol_*
>(
this)->writeMessageEnd();
536 return static_cast<Protocol_*
>(
this)->writeStructBegin(name);
540 return static_cast<Protocol_*
>(
this)->writeStructEnd();
544 return static_cast<Protocol_*
>(
this)->writeSandeshBegin(name);
548 return static_cast<Protocol_*
>(
this)->writeSandeshEnd();
552 return static_cast<Protocol_*
>(
this)->writeContainerElementBegin();
556 return static_cast<Protocol_*
>(
this)->writeContainerElementEnd();
560 const TType fieldType,
561 const int16_t fieldId,
562 const std::map<std::string, std::string> *
const amap = NULL) {
563 return static_cast<Protocol_*
>(
this)->writeFieldBegin(name, fieldType,
568 return static_cast<Protocol_*
>(
this)->writeFieldEnd();
572 return static_cast<Protocol_*
>(
this)->writeFieldStop();
577 const uint32_t size) {
578 return static_cast<Protocol_*
>(
this)->writeMapBegin(keyType, valType, size);
582 return static_cast<Protocol_*
>(
this)->writeMapEnd();
586 const uint32_t size) {
587 return static_cast<Protocol_*
>(
this)->writeListBegin(elemType, size);
591 return static_cast<Protocol_*
>(
this)->writeListEnd();
595 const uint32_t size) {
596 return static_cast<Protocol_*
>(
this)->writeSetBegin(elemType, size);
600 return static_cast<Protocol_*
>(
this)->writeSetEnd();
604 return static_cast<Protocol_*
>(
this)->writeBool(value);
608 return static_cast<Protocol_*
>(
this)->writeByte(byte);
612 return static_cast<Protocol_*
>(
this)->writeI16(i16);
616 return static_cast<Protocol_*
>(
this)->writeI32(i32);
620 return static_cast<Protocol_*
>(
this)->writeI64(i64);
624 return static_cast<Protocol_*
>(
this)->writeU16(u16);
628 return static_cast<Protocol_*
>(
this)->writeU32(u32);
632 return static_cast<Protocol_*
>(
this)->writeU64(u64);
636 return static_cast<Protocol_*
>(
this)->writeIPV4(ip4);
640 return static_cast<Protocol_*
>(
this)->writeIPADDR(ipaddress);
644 return static_cast<Protocol_*
>(
this)->writeDouble(dub);
648 return static_cast<Protocol_*
>(
this)->writeString(str);
652 return static_cast<Protocol_*
>(
this)->writeBinary(str);
656 return static_cast<Protocol_*
>(
this)->writeXML(str);
660 return static_cast<Protocol_*
>(
this)->writeUUID(uuid);
670 return static_cast<Protocol_*
>(
this)->readMessageBegin(name, messageType,
675 return static_cast<Protocol_*
>(
this)->readMessageEnd();
679 return static_cast<Protocol_*
>(
this)->readStructBegin(name);
683 return static_cast<Protocol_*
>(
this)->readStructEnd();
687 return static_cast<Protocol_*
>(
this)->readSandeshBegin(name);
691 return static_cast<Protocol_*
>(
this)->readSandeshEnd();
695 return static_cast<Protocol_*
>(
this)->readContainerElementBegin();
699 return static_cast<Protocol_*
>(
this)->readContainerElementEnd();
705 return static_cast<Protocol_*
>(
this)->readFieldBegin(name, fieldType,
710 return static_cast<Protocol_*
>(
this)->readFieldEnd();
716 return static_cast<Protocol_*
>(
this)->readMapBegin(keyType, valType, size);
720 return static_cast<Protocol_*
>(
this)->readMapEnd();
725 return static_cast<Protocol_*
>(
this)->readListBegin(elemType, size);
729 return static_cast<Protocol_*
>(
this)->readListEnd();
734 return static_cast<Protocol_*
>(
this)->readSetBegin(elemType, size);
738 return static_cast<Protocol_*
>(
this)->readSetEnd();
742 return static_cast<Protocol_*
>(
this)->
readBool(value);
746 return static_cast<Protocol_*
>(
this)->
readBool(value);
750 return static_cast<Protocol_*
>(
this)->readByte(byte);
754 return static_cast<Protocol_*
>(
this)->readI16(i16);
758 return static_cast<Protocol_*
>(
this)->readI32(i32);
762 return static_cast<Protocol_*
>(
this)->readI64(i64);
766 return static_cast<Protocol_*
>(
this)->readU16(u16);
770 return static_cast<Protocol_*
>(
this)->readU32(u32);
774 return static_cast<Protocol_*
>(
this)->readU64(u64);
778 return static_cast<Protocol_*
>(
this)->readIPV4(ip4);
782 return static_cast<Protocol_*
>(
this)->readIPADDR(ipaddress);
786 return static_cast<Protocol_*
>(
this)->readDouble(dub);
790 return static_cast<Protocol_*
>(
this)->readString(str);
794 return static_cast<Protocol_*
>(
this)->readBinary(str);
798 return static_cast<Protocol_*
>(
this)->readXML(str);
802 return static_cast<Protocol_*
>(
this)->readUUID(uuid);
806 return static_cast<Protocol_*
>(
this)->
skip(type);
820 Protocol_*
const prot =
static_cast<Protocol_*
>(
this);
831 int32_t
readBool(std::vector<bool>::reference value) {
833 uint32_t ret =
static_cast<Protocol_*
>(
this)->
readBool(b);
837 using Super_::readBool;
848 #endif // #define _SANDESH_PROTOCOL_TVIRTUALPROTOCOL_H_ 1
int32_t readU16(uint16_t &u16)
virtual int32_t readU32_virt(uint32_t &u32)
virtual int32_t writeString_virt(const std::string &str)
int32_t readIPV4(uint32_t &ip4)
virtual int32_t writeMessageBegin_virt(const std::string &name, const TMessageType messageType, const int32_t seqid)
virtual int32_t writeFieldEnd_virt()
int32_t writeSetBegin(const TType elemType, const uint32_t size)
virtual int32_t writeContainerElementEnd_virt()
TProtocolDefaults(boost::shared_ptr< TTransport > ptrans)
virtual int32_t readBool_virt(std::vector< bool >::reference value)
int32_t writeContainerElementBegin()
virtual int32_t writeI32_virt(const int32_t i32)
virtual int32_t readMapBegin_virt(TType &keyType, TType &valType, uint32_t &size)
int32_t readMapBegin(TType &keyType, TType &valType, uint32_t &size)
virtual int32_t readU16_virt(uint16_t &u16)
int32_t writeXML(const std::string &str)
virtual int32_t writeBool_virt(const bool value)
int32_t readIPADDR(boost::asio::ip::address &ipaddress)
int32_t readFieldBegin(std::string &name, TType &fieldType, int16_t &fieldId)
int32_t readUUID(boost::uuids::uuid &uuid)
virtual int32_t readU64_virt(uint64_t &u64)
virtual int32_t writeFieldBegin_virt(const char *name, const TType fieldType, const int16_t fieldId, const std::map< std::string, std::string > *const amap=NULL)
virtual int32_t readByte_virt(int8_t &byte)
virtual int32_t writeI64_virt(const int64_t i64)
int32_t readListBegin(TType &elemType, uint32_t &size)
int32_t readContainerElementEnd()
virtual int32_t readBinary_virt(std::string &str)
virtual int32_t readStructEnd_virt()
virtual int32_t readXML_virt(std::string &str)
virtual int32_t writeFieldStop_virt()
int32_t writeString(const std::string &str)
virtual int32_t writeI16_virt(const int16_t i16)
virtual int32_t writeSetBegin_virt(const TType elemType, const uint32_t size)
virtual int32_t readMessageBegin_virt(std::string &name, TMessageType &messageType, int32_t &seqid)
int32_t readByte(int8_t &byte)
int32_t writeU32(const uint32_t i32)
int32_t readU64(uint64_t &u64)
virtual int32_t writeContainerElementBegin_virt()
virtual int32_t writeMessageEnd_virt()
virtual int32_t readI64_virt(int64_t &i64)
virtual int32_t readString_virt(std::string &str)
virtual int32_t readI32_virt(int32_t &i32)
int32_t readBool(std::vector< bool >::reference value)
virtual int32_t writeStructBegin_virt(const char *name)
int32_t writeI64(const int64_t i64)
virtual int32_t readIPV4_virt(uint32_t &ip4)
int32_t writeMessageBegin(const std::string &name, const TMessageType messageType, const int32_t seqid)
virtual int32_t writeByte_virt(const int8_t byte)
int32_t writeIPV4(const uint32_t ip4)
int32_t writeContainerElementEnd()
int32_t writeMapBegin(const TType keyType, const TType valType, const uint32_t size)
int32_t writeStructBegin(const char *name)
virtual int32_t readContainerElementBegin_virt()
int32_t readBinary(std::string &str)
int32_t writeSandeshEnd()
virtual int32_t readIPADDR_virt(boost::asio::ip::address &ipaddress)
int32_t writeUUID(const boost::uuids::uuid &uuid)
virtual int32_t writeMapEnd_virt()
virtual int32_t writeXML_virt(const std::string &str)
int32_t readI32(int32_t &i32)
virtual int32_t readSandeshBegin_virt(std::string &name)
int32_t writeBinary(const std::string &str)
int32_t readSetBegin(TType &elemType, uint32_t &size)
virtual int32_t writeSandeshBegin_virt(const char *name)
virtual int32_t readMapEnd_virt()
int32_t readContainerElementBegin()
virtual int32_t readDouble_virt(double &dub)
virtual int32_t readListBegin_virt(TType &elemType, uint32_t &size)
virtual int32_t writeBinary_virt(const std::string &str)
virtual int32_t readStructBegin_virt(std::string &name)
virtual int32_t readSandeshEnd_virt()
virtual int32_t readBool_virt(bool &value)
int32_t readBool(std::vector< bool >::reference value)
virtual int32_t writeMapBegin_virt(const TType keyType, const TType valType, const uint32_t size)
virtual int32_t writeIPADDR_virt(const boost::asio::ip::address &ipaddress)
virtual int32_t readContainerElementEnd_virt()
virtual int32_t readFieldEnd_virt()
virtual int32_t readI16_virt(int16_t &i16)
virtual int32_t readFieldBegin_virt(std::string &name, TType &fieldType, int16_t &fieldId)
virtual int32_t writeSetEnd_virt()
int32_t readString(std::string &str)
virtual int32_t writeU16_virt(const uint16_t u16)
virtual int32_t skip_virt(TType type)
int32_t writeI16(const int16_t i16)
virtual int32_t writeUUID_virt(const boost::uuids::uuid &uuid)
virtual int32_t writeSandeshEnd_virt()
int32_t readXML(std::string &str)
int32_t writeMessageEnd()
virtual int32_t writeU32_virt(const uint32_t u32)
virtual int32_t writeIPV4_virt(const uint32_t ip4)
#define LOG(_Level, _Msg)
virtual int32_t writeListBegin_virt(const TType elemType, const uint32_t size)
virtual int32_t writeListEnd_virt()
TVirtualProtocol(boost::shared_ptr< TTransport > ptrans)
int32_t readBool(bool &value)
virtual int32_t readSetBegin_virt(TType &elemType, uint32_t &size)
virtual int32_t readListEnd_virt()
int32_t writeDouble(const double dub)
int32_t writeIPADDR(const boost::asio::ip::address &ipaddress)
int32_t writeBool(const bool value)
int32_t readI64(int64_t &i64)
int32_t readI16(int16_t &i16)
int32_t writeByte(const int8_t byte)
int32_t readStructBegin(std::string &name)
int32_t readDouble(double &dub)
int32_t writeSandeshBegin(const char *name)
int32_t readSandeshBegin(std::string &name)
int32_t writeFieldBegin(const char *name, const TType fieldType, const int16_t fieldId, const std::map< std::string, std::string > *const amap=NULL)
virtual int32_t readMessageEnd_virt()
int32_t readMessageBegin(std::string &name, TMessageType &messageType, int32_t &seqid)
virtual int32_t readSetEnd_virt()
int32_t readU32(uint32_t &u32)
virtual int32_t writeDouble_virt(const double dub)
virtual int32_t readUUID_virt(boost::uuids::uuid &uuid)
virtual int32_t writeStructEnd_virt()
int32_t writeU64(const uint64_t i64)
int32_t skip(Protocol_ &prot, TType type)
int32_t writeU16(const uint16_t i16)
virtual int32_t writeU64_virt(const uint64_t u64)
int32_t writeI32(const int32_t i32)
int32_t writeListBegin(const TType elemType, const uint32_t size)