.. module:: firebird.base.protobuf
   :synopsis: Registry for Google Protocol Buffer messages and enums

#################################################################
protobuf - Registry for Google Protocol Buffer messages and enums
#################################################################

Overview
========

This module provides central registry for Google Protocol Buffer messages and enums.
The generated `*_pb2.py` protobuf files could be registered using `register_decriptor`
or `load_registered` function. The registry could be then used to obtain information
about protobuf messages or enum types, or to create message instances or enum values.

Constants
=========
.. autodata:: PROTO_EMPTY
.. autodata:: PROTO_ANY
.. autodata:: PROTO_DURATION
.. autodata:: PROTO_TIMESTAMP
.. autodata:: PROTO_STRUCT
.. autodata:: PROTO_VALUE
.. autodata:: PROTO_LISTVALUE
.. autodata:: PROTO_FIELDMASK

Functions
=========
.. autofunction:: register_decriptor
.. autofunction:: load_registered
.. autofunction:: is_msg_registered
.. autofunction:: is_enum_registered
.. autofunction:: get_enum_type
.. autofunction:: get_enum_value_name
.. autofunction:: create_message
.. autofunction:: get_enum_field_type
.. autofunction:: struct2dict
.. autofunction:: dict2struct

Data classes
============
.. autoclass:: ProtoMessageType
.. autoclass:: ProtoEnumType
