Code that creates a message:
std::unique_ptr<Message> MessagePacker::BuildMessage() const {
google::protobuf::DynamicMessageFactory factory;
Message* msg = factory.GetPrototype(descriptor_)->New();
return std::unique_ptr<Message>(msg);
}
Test code:
MessagePacker packer(HelloRequest::descriptor());
auto result = packer.BuildMessage();
ASSERT_NE(result, nullptr);
std::cerr << result->GetReflection() << std::endl;
Reflection is null. Can't get field values, can't do DebugString.
How can I enable the reflection?
This returns a non-null pointer: HelloRequest().GetReflection()