OwlCyberSecurity - MANAGER
Edit File: reflection.pyc
� Du�ac�����������@���s����d��Z��d�Z�d�d�l�m�Z�d�d�l�m�Z�e�j����d�k�rQ�d�d�l�m�Z �n�d�d�l�m �Z �e �j�Z�i��Z�d����Z �d ����Z�d �S(���s ��Contains a metaclass and helper functions used to create protocol message classes from Descriptor objects at runtime. Recall that a metaclass is the "type" of a class. (A class is to a metaclass what an instance is to a class.) In this case, we use the GeneratedProtocolMessageType metaclass to inject all the useful functionality into the classes output by the protocol compiler at compile-time. The upshot of all this is that the real implementation details for ALL pure-Python protocol buffers are *here in this file*. s#���robinson@google.com (Will Robinson)i����(���t���api_implementation(���t���messaget���cpp(���t���cpp_message(���t���python_messagec���������C���s&���t��|����}�|����}�|�j�|���|�S(���s����Generate a new Message instance from this Descriptor and a byte string. Args: descriptor: Protobuf Descriptor object byte_str: Serialized protocol buffer byte string Returns: Newly created protobuf Message object. (���t ���MakeClasst���ParseFromString(���t ���descriptort���byte_strt���result_classt���new_msg(����(����s>���/usr/lib/python2.7/site-packages/google/protobuf/reflection.pyt���ParseMessageC���s���� c���������C���s����|��t��k�r�t��|��Si��}�x-�|��j�j����D]�\�}�}�t�|���|�|�<q*�W|��|�t�j�<t�t�|��j���t�j �f�|���}�|�t��|��<|�S(���s���Construct a class object for a protobuf described by descriptor. Composite descriptors are handled by defining the new class as a member of the parent class, recursing as deep as necessary. This is the dynamic equivalent to: class Parent(message.Message): __metaclass__ = GeneratedProtocolMessageType DESCRIPTOR = descriptor class Child(message.Message): __metaclass__ = GeneratedProtocolMessageType DESCRIPTOR = descriptor.nested_types[0] Sample usage: file_descriptor = descriptor_pb2.FileDescriptorProto() file_descriptor.ParseFromString(proto2_string) msg_descriptor = descriptor.MakeDescriptor(file_descriptor.message_type[0]) msg_class = reflection.MakeClass(msg_descriptor) msg = msg_class() Args: descriptor: A descriptor.Descriptor object describing the protobuf. Returns: The Message class object described by the descriptor. ( ���t���MESSAGE_CLASS_CACHEt���nested_types_by_namet���itemsR���t���GeneratedProtocolMessageTypet���_DESCRIPTOR_KEYt���strt���nameR���t���Message(���R���t ���attributesR���t���nested_typet���result(����(����s>���/usr/lib/python2.7/site-packages/google/protobuf/reflection.pyR���S���s���� N(���t���__doc__t ���__author__t���google.protobuf.internalR����t���google.protobufR���t���Typet���google.protobuf.pyextR���t���message_implR���R���R���R���R���(����(����(����s>���/usr/lib/python2.7/site-packages/google/protobuf/reflection.pyt���<module>.���s���