| Index: third_party/protobuf/python/google/protobuf/pyext/descriptor_pool.h
|
| diff --git a/third_party/protobuf/python/google/protobuf/pyext/descriptor_pool.h b/third_party/protobuf/python/google/protobuf/pyext/descriptor_pool.h
|
| index 2a42c11262694451ac0a32fb7b9fafd1ede34392..c4d7d40343431157616cff87bef1cdeb08711e8e 100644
|
| --- a/third_party/protobuf/python/google/protobuf/pyext/descriptor_pool.h
|
| +++ b/third_party/protobuf/python/google/protobuf/pyext/descriptor_pool.h
|
| @@ -38,10 +38,10 @@
|
|
|
| namespace google {
|
| namespace protobuf {
|
| -class MessageFactory;
|
| -
|
| namespace python {
|
|
|
| +struct PyMessageFactory;
|
| +
|
| // The (meta) type of all Messages classes.
|
| struct CMessageClass;
|
|
|
| @@ -69,20 +69,10 @@ typedef struct PyDescriptorPool {
|
| // This pointer is owned.
|
| const DescriptorDatabase* database;
|
|
|
| - // DynamicMessageFactory used to create C++ instances of messages.
|
| - // This object cache the descriptors that were used, so the DescriptorPool
|
| - // needs to get rid of it before it can delete itself.
|
| - //
|
| - // Note: A C++ MessageFactory is different from the Python MessageFactory.
|
| - // The C++ one creates messages, when the Python one creates classes.
|
| - MessageFactory* message_factory;
|
| -
|
| - // Make our own mapping to retrieve Python classes from C++ descriptors.
|
| - //
|
| - // Descriptor pointers stored here are owned by the DescriptorPool above.
|
| - // Python references to classes are owned by this PyDescriptorPool.
|
| - typedef hash_map<const Descriptor*, CMessageClass*> ClassesByMessageMap;
|
| - ClassesByMessageMap* classes_by_descriptor;
|
| + // The preferred MessageFactory to be used by descriptors.
|
| + // TODO(amauryfa): Don't create the Factory from the DescriptorPool, but
|
| + // use the one passed while creating message classes. And remove this member.
|
| + PyMessageFactory* py_message_factory;
|
|
|
| // Cache the options for any kind of descriptor.
|
| // Descriptor pointers are owned by the DescriptorPool above.
|
| @@ -100,19 +90,6 @@ namespace cdescriptor_pool {
|
| const Descriptor* FindMessageTypeByName(PyDescriptorPool* self,
|
| const string& name);
|
|
|
| -// Registers a new Python class for the given message descriptor.
|
| -// On error, returns -1 with a Python exception set.
|
| -int RegisterMessageClass(PyDescriptorPool* self,
|
| - const Descriptor* message_descriptor,
|
| - CMessageClass* message_class);
|
| -
|
| -// Retrieves the Python class registered with the given message descriptor.
|
| -//
|
| -// Returns a *borrowed* reference if found, otherwise returns NULL with an
|
| -// exception set.
|
| -CMessageClass* GetMessageClass(PyDescriptorPool* self,
|
| - const Descriptor* message_descriptor);
|
| -
|
| // The functions below are also exposed as methods of the DescriptorPool type.
|
|
|
| // Looks up a message by name. Returns a PyMessageDescriptor corresponding to
|
|
|