 [semidet]protobuf_parse_from_codes(+WireCodes:list(int), 
+MessageType:atom, -Term)
[semidet]protobuf_parse_from_codes(+WireCodes:list(int), 
+MessageType:atom, -Term)MessageType), creating a Prolog term.
Protoc must have been run (with the --swipl_out= 
option and the resulting top-level _pb.pl file loaded. For 
more details, see the "protoc" section of the overview documentation.
Fails if the message can't be parsed or if the appropriate meta-data 
from protoc hasn't been loaded.
All fields that are omitted from the WireCodes are set 
to their default values (typically the empty string or 0, depending on 
the type; or [] for repeated groups). There is no way of 
testing whether a value was specified in WireCodes or given 
its default value (that is, there is no equivalent of the Python 
implementation's =HasField`). Optional embedded messages and groups do 
not have any default value -- you must check their existence by using get_dict/3 
or similar. If a field is part of a "oneof" set, then none of the other 
fields is set. You can determine which field had a value by using get_dict/3.
| WireCodes | Wire format of the message from 
e.g., read_stream_to_codes/2. (The stream 
should have options encoding(octet)andtype(binary), 
either as options to read_file_to_codes/3 
or by calling set_stream/2 on the stream 
to read_stream_to_codes/2.) | 
| MessageType | Fully qualified message name 
(from the .protofile'spackageandmessage). 
For example, if thepackageisgoogle.protobufand the message isFileDescriptorSet, then you would use'.google.protobuf.FileDescriptorSet'or'google.protobuf.FileDescriptorSet'. 
If there's no package name, use e.g.:'MyMessageor'.MyMessage'. 
You can see the packages by looking atprotobufs:proto_meta_package(Pkg,File,_)and the message 
names and fields byprotobufs:proto_meta_field_name('.google.protobuf.FileDescriptorSet', FieldNumber, FieldName, FqnName)(the initial’.’is not optional for these facts, only for the 
top-level name given to protobuf_serialize_to_codes/3). | 
| Term | The generated term, as nested dicts. | 
version_error(Module-Version) you need to recompile the Module 
with a newer version of protoc.library(protobufs): Google's Protocol Buffers (section 
1.3.1).proto extensions. map fields don't get special treatment (but see protobuf_map_pairs/3). library(http/json) and json_read_dict/3) true and value_string_as 
(similar to json_read_dict/3)