diff --git a/include/WHISPER/Messages/Message.hpp b/include/WHISPER/Messages/Message.hpp index 68c959a..86fe172 100644 --- a/include/WHISPER/Messages/Message.hpp +++ b/include/WHISPER/Messages/Message.hpp @@ -26,6 +26,8 @@ namespace WHISPER { PING, /// PONG PONG, + /// general Sim track + SIM_TRACK, /// owntrack informaton OWN_TRACK, /// raw track message @@ -92,7 +94,9 @@ namespace WHISPER { public: Message()=default; + Message(std::string senderUUID, MsgTopics topic, MsgType Type,SourceType src); + [[deprecated]] Message(std::uint32_t parentId,std::uint32_t deviceId, MsgTopics topic, MsgType Type,SourceType src); Message(std::string msg); @@ -108,6 +112,8 @@ namespace WHISPER { std::uint32_t msgType_; /// WHISPER::SourceType of the sender std::uint32_t sourceType_; + ///sender uuid + std::string senderUUID_; /// id of the sender std::uint32_t deviceId_; /// parent id of the sender 0 if its the manager diff --git a/include/WHISPER/Messages/Protos/message.pb.cc b/include/WHISPER/Messages/Protos/message.pb.cc index bfa5aed..4a8bf9b 100644 --- a/include/WHISPER/Messages/Protos/message.pb.cc +++ b/include/WHISPER/Messages/Protos/message.pb.cc @@ -24,13 +24,15 @@ namespace messages { namespace header { PROTOBUF_CONSTEXPR Message::Message( ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_.payload_)*/nullptr + /*decltype(_impl_._has_bits_)*/{} + , /*decltype(_impl_._cached_size_)*/{} + , /*decltype(_impl_.senderuuid_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_.payload_)*/nullptr , /*decltype(_impl_.topic_)*/0u , /*decltype(_impl_.msgtype_)*/0u , /*decltype(_impl_.sourcetype_)*/0u , /*decltype(_impl_.sourceid_)*/0u - , /*decltype(_impl_.parentid_)*/0u - , /*decltype(_impl_._cached_size_)*/{}} {} + , /*decltype(_impl_.parentid_)*/0u} {} struct MessageDefaultTypeInternal { PROTOBUF_CONSTEXPR MessageDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} @@ -47,7 +49,7 @@ static constexpr ::_pb::EnumDescriptor const** file_level_enum_descriptors_messa static constexpr ::_pb::ServiceDescriptor const** file_level_service_descriptors_message_2eproto = nullptr; const uint32_t TableStruct_message_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { - ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::messages::header::Message, _impl_._has_bits_), PROTOBUF_FIELD_OFFSET(::messages::header::Message, _internal_metadata_), ~0u, // no _extensions_ ~0u, // no _oneof_case_ @@ -56,12 +58,20 @@ const uint32_t TableStruct_message_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE( PROTOBUF_FIELD_OFFSET(::messages::header::Message, _impl_.topic_), PROTOBUF_FIELD_OFFSET(::messages::header::Message, _impl_.msgtype_), PROTOBUF_FIELD_OFFSET(::messages::header::Message, _impl_.sourcetype_), + PROTOBUF_FIELD_OFFSET(::messages::header::Message, _impl_.senderuuid_), PROTOBUF_FIELD_OFFSET(::messages::header::Message, _impl_.sourceid_), PROTOBUF_FIELD_OFFSET(::messages::header::Message, _impl_.parentid_), PROTOBUF_FIELD_OFFSET(::messages::header::Message, _impl_.payload_), + ~0u, + ~0u, + ~0u, + ~0u, + 0, + 1, + ~0u, }; static const ::_pbi::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { - { 0, -1, -1, sizeof(::messages::header::Message)}, + { 0, 13, -1, sizeof(::messages::header::Message)}, }; static const ::_pb::Message* const file_default_instances[] = { @@ -70,18 +80,19 @@ static const ::_pb::Message* const file_default_instances[] = { const char descriptor_table_protodef_message_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = "\n\rmessage.proto\022\017messages.header\032\031google" - "/protobuf/any.proto\"\210\001\n\007Message\022\r\n\005topic" + "/protobuf/any.proto\"\300\001\n\007Message\022\r\n\005topic" "\030\001 \001(\r\022\017\n\007msgType\030\002 \001(\r\022\022\n\nsourceType\030\003 " - "\001(\r\022\020\n\010sourceID\030\004 \001(\r\022\020\n\010parentID\030\005 \001(\r\022" - "%\n\007payload\030\006 \001(\0132\024.google.protobuf.Anyb\006" - "proto3" + "\001(\r\022\022\n\nsenderUUID\030\004 \001(\t\022\025\n\010sourceID\030\005 \001(" + "\rH\000\210\001\001\022\025\n\010parentID\030\006 \001(\rH\001\210\001\001\022%\n\007payload" + "\030\007 \001(\0132\024.google.protobuf.AnyB\013\n\t_sourceI" + "DB\013\n\t_parentIDb\006proto3" ; static const ::_pbi::DescriptorTable* const descriptor_table_message_2eproto_deps[1] = { &::descriptor_table_google_2fprotobuf_2fany_2eproto, }; static ::_pbi::once_flag descriptor_table_message_2eproto_once; const ::_pbi::DescriptorTable descriptor_table_message_2eproto = { - false, false, 206, descriptor_table_protodef_message_2eproto, + false, false, 262, descriptor_table_protodef_message_2eproto, "message.proto", &descriptor_table_message_2eproto_once, descriptor_table_message_2eproto_deps, 1, 1, schemas, file_default_instances, TableStruct_message_2eproto::offsets, @@ -101,6 +112,13 @@ namespace header { class Message::_Internal { public: + using HasBits = decltype(std::declval()._impl_._has_bits_); + static void set_has_sourceid(HasBits* has_bits) { + (*has_bits)[0] |= 1u; + } + static void set_has_parentid(HasBits* has_bits) { + (*has_bits)[0] |= 2u; + } static const ::PROTOBUF_NAMESPACE_ID::Any& payload(const Message* msg); }; @@ -124,15 +142,25 @@ Message::Message(const Message& from) : ::PROTOBUF_NAMESPACE_ID::Message() { Message* const _this = this; (void)_this; new (&_impl_) Impl_{ - decltype(_impl_.payload_){nullptr} + decltype(_impl_._has_bits_){from._impl_._has_bits_} + , /*decltype(_impl_._cached_size_)*/{} + , decltype(_impl_.senderuuid_){} + , decltype(_impl_.payload_){nullptr} , decltype(_impl_.topic_){} , decltype(_impl_.msgtype_){} , decltype(_impl_.sourcetype_){} , decltype(_impl_.sourceid_){} - , decltype(_impl_.parentid_){} - , /*decltype(_impl_._cached_size_)*/{}}; + , decltype(_impl_.parentid_){}}; _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + _impl_.senderuuid_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.senderuuid_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_senderuuid().empty()) { + _this->_impl_.senderuuid_.Set(from._internal_senderuuid(), + _this->GetArenaForAllocation()); + } if (from._internal_has_payload()) { _this->_impl_.payload_ = new ::PROTOBUF_NAMESPACE_ID::Any(*from._impl_.payload_); } @@ -147,14 +175,20 @@ inline void Message::SharedCtor( (void)arena; (void)is_message_owned; new (&_impl_) Impl_{ - decltype(_impl_.payload_){nullptr} + decltype(_impl_._has_bits_){} + , /*decltype(_impl_._cached_size_)*/{} + , decltype(_impl_.senderuuid_){} + , decltype(_impl_.payload_){nullptr} , decltype(_impl_.topic_){0u} , decltype(_impl_.msgtype_){0u} , decltype(_impl_.sourcetype_){0u} , decltype(_impl_.sourceid_){0u} , decltype(_impl_.parentid_){0u} - , /*decltype(_impl_._cached_size_)*/{} }; + _impl_.senderuuid_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.senderuuid_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING } Message::~Message() { @@ -168,6 +202,7 @@ Message::~Message() { inline void Message::SharedDtor() { GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + _impl_.senderuuid_.Destroy(); if (this != internal_default_instance()) delete _impl_.payload_; } @@ -181,18 +216,27 @@ void Message::Clear() { // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; + _impl_.senderuuid_.ClearToEmpty(); if (GetArenaForAllocation() == nullptr && _impl_.payload_ != nullptr) { delete _impl_.payload_; } _impl_.payload_ = nullptr; ::memset(&_impl_.topic_, 0, static_cast( - reinterpret_cast(&_impl_.parentid_) - - reinterpret_cast(&_impl_.topic_)) + sizeof(_impl_.parentid_)); + reinterpret_cast(&_impl_.sourcetype_) - + reinterpret_cast(&_impl_.topic_)) + sizeof(_impl_.sourcetype_)); + cached_has_bits = _impl_._has_bits_[0]; + if (cached_has_bits & 0x00000003u) { + ::memset(&_impl_.sourceid_, 0, static_cast( + reinterpret_cast(&_impl_.parentid_) - + reinterpret_cast(&_impl_.sourceid_)) + sizeof(_impl_.parentid_)); + } + _impl_._has_bits_.Clear(); _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } const char* Message::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + _Internal::HasBits has_bits{}; while (!ctx->Done(&ptr)) { uint32_t tag; ptr = ::_pbi::ReadTag(ptr, &tag); @@ -221,25 +265,37 @@ const char* Message::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) } else goto handle_unusual; continue; - // uint32 sourceID = 4; + // string senderUUID = 4; case 4: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 32)) { + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 34)) { + auto str = _internal_mutable_senderuuid(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "messages.header.Message.senderUUID")); + } else + goto handle_unusual; + continue; + // optional uint32 sourceID = 5; + case 5: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 40)) { + _Internal::set_has_sourceid(&has_bits); _impl_.sourceid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); CHK_(ptr); } else goto handle_unusual; continue; - // uint32 parentID = 5; - case 5: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 40)) { + // optional uint32 parentID = 6; + case 6: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 48)) { + _Internal::set_has_parentid(&has_bits); _impl_.parentid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); CHK_(ptr); } else goto handle_unusual; continue; - // .google.protobuf.Any payload = 6; - case 6: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 50)) { + // .google.protobuf.Any payload = 7; + case 7: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 58)) { ptr = ctx->ParseMessage(_internal_mutable_payload(), ptr); CHK_(ptr); } else @@ -261,6 +317,7 @@ const char* Message::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) CHK_(ptr != nullptr); } // while message_done: + _impl_._has_bits_.Or(has_bits); return ptr; failure: ptr = nullptr; @@ -292,22 +349,32 @@ uint8_t* Message::_InternalSerialize( target = ::_pbi::WireFormatLite::WriteUInt32ToArray(3, this->_internal_sourcetype(), target); } - // uint32 sourceID = 4; - if (this->_internal_sourceid() != 0) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteUInt32ToArray(4, this->_internal_sourceid(), target); + // string senderUUID = 4; + if (!this->_internal_senderuuid().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_senderuuid().data(), static_cast(this->_internal_senderuuid().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "messages.header.Message.senderUUID"); + target = stream->WriteStringMaybeAliased( + 4, this->_internal_senderuuid(), target); } - // uint32 parentID = 5; - if (this->_internal_parentid() != 0) { + // optional uint32 sourceID = 5; + if (_internal_has_sourceid()) { target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteUInt32ToArray(5, this->_internal_parentid(), target); + target = ::_pbi::WireFormatLite::WriteUInt32ToArray(5, this->_internal_sourceid(), target); } - // .google.protobuf.Any payload = 6; + // optional uint32 parentID = 6; + if (_internal_has_parentid()) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt32ToArray(6, this->_internal_parentid(), target); + } + + // .google.protobuf.Any payload = 7; if (this->_internal_has_payload()) { target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(6, _Internal::payload(this), + InternalWriteMessage(7, _Internal::payload(this), _Internal::payload(this).GetCachedSize(), target, stream); } @@ -327,7 +394,14 @@ size_t Message::ByteSizeLong() const { // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - // .google.protobuf.Any payload = 6; + // string senderUUID = 4; + if (!this->_internal_senderuuid().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_senderuuid()); + } + + // .google.protobuf.Any payload = 7; if (this->_internal_has_payload()) { total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( @@ -349,16 +423,19 @@ size_t Message::ByteSizeLong() const { total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_sourcetype()); } - // uint32 sourceID = 4; - if (this->_internal_sourceid() != 0) { - total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_sourceid()); - } + cached_has_bits = _impl_._has_bits_[0]; + if (cached_has_bits & 0x00000003u) { + // optional uint32 sourceID = 5; + if (cached_has_bits & 0x00000001u) { + total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_sourceid()); + } - // uint32 parentID = 5; - if (this->_internal_parentid() != 0) { - total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_parentid()); - } + // optional uint32 parentID = 6; + if (cached_has_bits & 0x00000002u) { + total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_parentid()); + } + } return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); } @@ -377,6 +454,9 @@ void Message::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOB uint32_t cached_has_bits = 0; (void) cached_has_bits; + if (!from._internal_senderuuid().empty()) { + _this->_internal_set_senderuuid(from._internal_senderuuid()); + } if (from._internal_has_payload()) { _this->_internal_mutable_payload()->::PROTOBUF_NAMESPACE_ID::Any::MergeFrom( from._internal_payload()); @@ -390,11 +470,15 @@ void Message::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOB if (from._internal_sourcetype() != 0) { _this->_internal_set_sourcetype(from._internal_sourcetype()); } - if (from._internal_sourceid() != 0) { - _this->_internal_set_sourceid(from._internal_sourceid()); - } - if (from._internal_parentid() != 0) { - _this->_internal_set_parentid(from._internal_parentid()); + cached_has_bits = from._impl_._has_bits_[0]; + if (cached_has_bits & 0x00000003u) { + if (cached_has_bits & 0x00000001u) { + _this->_impl_.sourceid_ = from._impl_.sourceid_; + } + if (cached_has_bits & 0x00000002u) { + _this->_impl_.parentid_ = from._impl_.parentid_; + } + _this->_impl_._has_bits_[0] |= cached_has_bits; } _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); } @@ -412,7 +496,14 @@ bool Message::IsInitialized() const { void Message::InternalSwap(Message* other) { using std::swap; + auto* lhs_arena = GetArenaForAllocation(); + auto* rhs_arena = other->GetArenaForAllocation(); _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.senderuuid_, lhs_arena, + &other->_impl_.senderuuid_, rhs_arena + ); ::PROTOBUF_NAMESPACE_ID::internal::memswap< PROTOBUF_FIELD_OFFSET(Message, _impl_.parentid_) + sizeof(Message::_impl_.parentid_) diff --git a/include/WHISPER/Messages/Protos/message.pb.h b/include/WHISPER/Messages/Protos/message.pb.h index ebee054..9d39fa5 100644 --- a/include/WHISPER/Messages/Protos/message.pb.h +++ b/include/WHISPER/Messages/Protos/message.pb.h @@ -181,14 +181,29 @@ class Message final : // accessors ------------------------------------------------------- enum : int { - kPayloadFieldNumber = 6, + kSenderUUIDFieldNumber = 4, + kPayloadFieldNumber = 7, kTopicFieldNumber = 1, kMsgTypeFieldNumber = 2, kSourceTypeFieldNumber = 3, - kSourceIDFieldNumber = 4, - kParentIDFieldNumber = 5, + kSourceIDFieldNumber = 5, + kParentIDFieldNumber = 6, }; - // .google.protobuf.Any payload = 6; + // string senderUUID = 4; + void clear_senderuuid(); + const std::string& senderuuid() const; + template + void set_senderuuid(ArgT0&& arg0, ArgT... args); + std::string* mutable_senderuuid(); + PROTOBUF_NODISCARD std::string* release_senderuuid(); + void set_allocated_senderuuid(std::string* senderuuid); + private: + const std::string& _internal_senderuuid() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_senderuuid(const std::string& value); + std::string* _internal_mutable_senderuuid(); + public: + + // .google.protobuf.Any payload = 7; bool has_payload() const; private: bool _internal_has_payload() const; @@ -233,7 +248,11 @@ class Message final : void _internal_set_sourcetype(uint32_t value); public: - // uint32 sourceID = 4; + // optional uint32 sourceID = 5; + bool has_sourceid() const; + private: + bool _internal_has_sourceid() const; + public: void clear_sourceid(); uint32_t sourceid() const; void set_sourceid(uint32_t value); @@ -242,7 +261,11 @@ class Message final : void _internal_set_sourceid(uint32_t value); public: - // uint32 parentID = 5; + // optional uint32 parentID = 6; + bool has_parentid() const; + private: + bool _internal_has_parentid() const; + public: void clear_parentid(); uint32_t parentid() const; void set_parentid(uint32_t value); @@ -259,13 +282,15 @@ class Message final : typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; struct Impl_ { + ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr senderuuid_; ::PROTOBUF_NAMESPACE_ID::Any* payload_; uint32_t topic_; uint32_t msgtype_; uint32_t sourcetype_; uint32_t sourceid_; uint32_t parentid_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; }; union { Impl_ _impl_; }; friend struct ::TableStruct_message_2eproto; @@ -341,9 +366,67 @@ inline void Message::set_sourcetype(uint32_t value) { // @@protoc_insertion_point(field_set:messages.header.Message.sourceType) } -// uint32 sourceID = 4; +// string senderUUID = 4; +inline void Message::clear_senderuuid() { + _impl_.senderuuid_.ClearToEmpty(); +} +inline const std::string& Message::senderuuid() const { + // @@protoc_insertion_point(field_get:messages.header.Message.senderUUID) + return _internal_senderuuid(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void Message::set_senderuuid(ArgT0&& arg0, ArgT... args) { + + _impl_.senderuuid_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:messages.header.Message.senderUUID) +} +inline std::string* Message::mutable_senderuuid() { + std::string* _s = _internal_mutable_senderuuid(); + // @@protoc_insertion_point(field_mutable:messages.header.Message.senderUUID) + return _s; +} +inline const std::string& Message::_internal_senderuuid() const { + return _impl_.senderuuid_.Get(); +} +inline void Message::_internal_set_senderuuid(const std::string& value) { + + _impl_.senderuuid_.Set(value, GetArenaForAllocation()); +} +inline std::string* Message::_internal_mutable_senderuuid() { + + return _impl_.senderuuid_.Mutable(GetArenaForAllocation()); +} +inline std::string* Message::release_senderuuid() { + // @@protoc_insertion_point(field_release:messages.header.Message.senderUUID) + return _impl_.senderuuid_.Release(); +} +inline void Message::set_allocated_senderuuid(std::string* senderuuid) { + if (senderuuid != nullptr) { + + } else { + + } + _impl_.senderuuid_.SetAllocated(senderuuid, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.senderuuid_.IsDefault()) { + _impl_.senderuuid_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:messages.header.Message.senderUUID) +} + +// optional uint32 sourceID = 5; +inline bool Message::_internal_has_sourceid() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + return value; +} +inline bool Message::has_sourceid() const { + return _internal_has_sourceid(); +} inline void Message::clear_sourceid() { _impl_.sourceid_ = 0u; + _impl_._has_bits_[0] &= ~0x00000001u; } inline uint32_t Message::_internal_sourceid() const { return _impl_.sourceid_; @@ -353,7 +436,7 @@ inline uint32_t Message::sourceid() const { return _internal_sourceid(); } inline void Message::_internal_set_sourceid(uint32_t value) { - + _impl_._has_bits_[0] |= 0x00000001u; _impl_.sourceid_ = value; } inline void Message::set_sourceid(uint32_t value) { @@ -361,9 +444,17 @@ inline void Message::set_sourceid(uint32_t value) { // @@protoc_insertion_point(field_set:messages.header.Message.sourceID) } -// uint32 parentID = 5; +// optional uint32 parentID = 6; +inline bool Message::_internal_has_parentid() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + return value; +} +inline bool Message::has_parentid() const { + return _internal_has_parentid(); +} inline void Message::clear_parentid() { _impl_.parentid_ = 0u; + _impl_._has_bits_[0] &= ~0x00000002u; } inline uint32_t Message::_internal_parentid() const { return _impl_.parentid_; @@ -373,7 +464,7 @@ inline uint32_t Message::parentid() const { return _internal_parentid(); } inline void Message::_internal_set_parentid(uint32_t value) { - + _impl_._has_bits_[0] |= 0x00000002u; _impl_.parentid_ = value; } inline void Message::set_parentid(uint32_t value) { @@ -381,7 +472,7 @@ inline void Message::set_parentid(uint32_t value) { // @@protoc_insertion_point(field_set:messages.header.Message.parentID) } -// .google.protobuf.Any payload = 6; +// .google.protobuf.Any payload = 7; inline bool Message::_internal_has_payload() const { return this != internal_default_instance() && _impl_.payload_ != nullptr; } diff --git a/include/WHISPER/Messages/Protos/message.proto b/include/WHISPER/Messages/Protos/message.proto index 5bbd786..041b9de 100644 --- a/include/WHISPER/Messages/Protos/message.proto +++ b/include/WHISPER/Messages/Protos/message.proto @@ -10,11 +10,12 @@ message Message { uint32 topic = 1; uint32 msgType = 2; uint32 sourceType = 3; - uint32 sourceID = 4; - uint32 parentID = 5; + string senderUUID = 4; + optional uint32 sourceID = 5; + optional uint32 parentID = 6; - google.protobuf.Any payload = 6; + google.protobuf.Any payload = 7; } diff --git a/src/WHISPER/Messages/Message.cpp b/src/WHISPER/Messages/Message.cpp index f0e2e76..2dbbe9f 100644 --- a/src/WHISPER/Messages/Message.cpp +++ b/src/WHISPER/Messages/Message.cpp @@ -25,6 +25,20 @@ namespace WHISPER { } + } + Message::Message(std::string senderUUID, MsgTopics topic, MsgType Type,SourceType src): + senderUUID_(senderUUID),topic_(topic),sourceType_(src),msgType_(Type) + { + msg = messages::header::Message(); + + if(msg.IsInitialized()) + { + msg.set_topic(topic); + msg.set_sourcetype(sourceType_); + msg.set_msgtype(msgType_); + msg.set_senderuuid(senderUUID_); + + } }