관리-도구
편집 파일: service_reflection.pyo
� Du�ac @ sh d Z d Z d e f d � � YZ d e f d � � YZ d e f d � � YZ d e f d � � YZ d S( s* Contains metaclasses used to create protocol service and service stub classes from ServiceDescriptor objects at runtime. The GeneratedServiceType and GeneratedServiceStubType metaclasses are used to inject all useful functionality into the classes output by the protocol compiler at compile-time. s petar@google.com (Petar Petrov)t GeneratedServiceTypec B s e Z d Z d Z d � Z RS( s� Metaclass for service classes created at runtime from ServiceDescriptors. Implementations for all methods described in the Service class are added here by this class. We also create properties to allow getting/setting all fields in the protocol message. The protocol compiler currently uses this metaclass to create protocol service classes at runtime. Clients can also manually create their own classes at runtime, as in this example: mydescriptor = ServiceDescriptor(.....) class MyProtoService(service.Service): __metaclass__ = GeneratedServiceType DESCRIPTOR = mydescriptor myservice_instance = MyProtoService() ... t DESCRIPTORc C s= t j | k r d S| t j } t | � } | j | � d S( s� Creates a message service class. Args: name: Name of the class (ignored, but required by the metaclass protocol). bases: Base classes of the class being constructed. dictionary: The class dictionary of the class being constructed. dictionary[_DESCRIPTOR_KEY] must contain a ServiceDescriptor object describing this protocol service type. N( R t _DESCRIPTOR_KEYt _ServiceBuildert BuildService( t clst namet basest dictionaryt descriptort service_builder( ( sF /usr/lib/python2.7/site-packages/google/protobuf/service_reflection.pyt __init__@ s ( t __name__t __module__t __doc__R R ( ( ( sF /usr/lib/python2.7/site-packages/google/protobuf/service_reflection.pyR * s t GeneratedServiceStubTypec B s e Z d Z d Z d � Z RS( s� Metaclass for service stubs created at runtime from ServiceDescriptors. This class has similar responsibilities as GeneratedServiceType, except that it creates the service stub classes. R c C sY t t | � j | | | � t j | k r/ d S| t j } t | � } | j | � d S( s` Creates a message service stub class. Args: name: Name of the class (ignored, here). bases: Base classes of the class being constructed. dictionary: The class dictionary of the class being constructed. dictionary[_DESCRIPTOR_KEY] must contain a ServiceDescriptor object describing this protocol service type. N( t superR R R t _ServiceStubBuildert BuildServiceStub( R R R R R t service_stub_builder( ( sF /usr/lib/python2.7/site-packages/google/protobuf/service_reflection.pyR ^ s ( R R R R R ( ( ( sF /usr/lib/python2.7/site-packages/google/protobuf/service_reflection.pyR T s R c B sM e Z d Z d � Z d � Z d � Z d � Z d � Z d � Z d � Z RS( sD This class constructs a protocol service class using a service descriptor. Given a service descriptor, this class constructs a class that represents the specified service descriptor. One service builder instance constructs exactly one service class. That means all instances of that class share the same builder. c C s | | _ d S( s� Initializes an instance of the service class builder. Args: service_descriptor: ServiceDescriptor to use when constructing the service class. N( R ( t selft service_descriptor( ( sF /usr/lib/python2.7/site-packages/google/protobuf/service_reflection.pyR | s c s� � f d � } | � _ | | _ t � f d � � | _ d | j _ � j | _ � j | _ x0 � j j D]"