File tree Expand file tree Collapse file tree 2 files changed +15
-0
lines changed
src/core/modules/messages Expand file tree Collapse file tree 2 files changed +15
-0
lines changed Original file line number Diff line number Diff line change 9797 return spMessage;
9898 }
9999
100+ static void parse_to_abstract_pointer (google::protobuf::Message *pMessage, object oPtr)
101+ {
102+ ((google::protobuf::Message *)ExtractAddress (oPtr, true ))->ParseFromString (pMessage->SerializeAsString ());
103+ }
104+
100105 static const google::protobuf::FieldDescriptor* GetFieldDescriptor (google::protobuf::Message* pMessage, const char * field_name)
101106 {
102107 const google::protobuf::Descriptor* descriptor = pMessage->GetDescriptor ();
Original file line number Diff line number Diff line change @@ -120,6 +120,16 @@ void export_protobuf_message(scope _messages)
120120 args (" pointer" )
121121 ).staticmethod (" from_abstract_pointer" );
122122
123+ ProtobufMessage.def (
124+ " parse_to_abstract_pointer" ,
125+ &CProtobufMessageExt::parse_to_abstract_pointer,
126+ " Parses this message into the given abstract pointer.\n "
127+ " \n "
128+ " .. note::\n "
129+ " No checks is done on the given pointer and it is assumed to be valid. Do not use this "
130+ " method if you don't know what you are doing."
131+ );
132+
123133 ProtobufMessage.def (" get_int32" , &CProtobufMessageExt::GetInt32);
124134 ProtobufMessage.def (" get_int64" , &CProtobufMessageExt::GetInt64);
125135 ProtobufMessage.def (" get_uint32" , &CProtobufMessageExt::GetUInt32);
You can’t perform that action at this time.
0 commit comments