0

I'm trying to create 3 messages, start_now, stop_now, and HeartBeat,as defined in the .proto file below. I have already compiled the .proto file using the c++ compiler and have the necessary .h file. It is my understanding that the "oneof" definition allows for only one of the fields to be set at a time. My goal is to create a message,Serialize it using SerializeToString(), then on the receiving end I want to utilize the ParseToString() to get back my message in readable form.

syntax = "proto3";
package jomba;


message SimpleMessage {
}

message Jacket {
    uint32 value = 1;
}
message Message {
    oneof payload {
        SimpleMessage start_now = 1;
        SimpleMessage stop_now = 2;
        Jacket heart_beat = 3;
    }
}  

Within the generated header file there is an enum created within class Message which shows the individual fields of the Message. I don't see any set_() functions within this class to generate any of the messages.

enum PayloadCase {
  kStartNow = 1,
  kStopNow = 2,
  kHeartBeat = 3,
  PAYLOAD_NOT_SET = 0,
 };
  • Protobuf does not have inheritance, [see here](https://stackoverflow.com/questions/41243168/inheritance-in-protocol-buffers). – user119879 Sep 15 '21 at 13:20
  • I suggest that you search the header you have generated for the set and mutable functions. Those are used to set fields. – Bart Sep 15 '21 at 14:33

0 Answers0