35 #ifndef GOOGLE_PROTOBUF_COMPILER_PYTHON_GENERATOR_H__
36 #define GOOGLE_PROTOBUF_COMPILER_PYTHON_GENERATOR_H__
43 #include <google/protobuf/port_def.inc>
53 class ServiceDescriptor;
78 void PrintImports()
const;
79 void PrintFileDescriptor()
const;
80 void PrintTopLevelEnums()
const;
81 void PrintAllNestedEnumsInFile()
const;
85 void PrintTopLevelExtensions()
const;
88 bool is_extension)
const;
89 void PrintFieldDescriptorsInDescriptor(
90 const Descriptor& message_descriptor,
bool is_extension,
93 void PrintFieldsInDescriptor(
const Descriptor& message_descriptor)
const;
94 void PrintExtensionsInDescriptor(
const Descriptor& message_descriptor)
const;
95 void PrintMessageDescriptors()
const;
96 void PrintDescriptor(
const Descriptor& message_descriptor)
const;
97 void PrintNestedDescriptors(
const Descriptor& containing_descriptor)
const;
99 void PrintMessages()
const;
102 std::vector<std::string>* to_register,
103 bool is_nested)
const;
104 void PrintNestedMessages(
const Descriptor& containing_descriptor,
106 std::vector<std::string>* to_register)
const;
108 void FixForeignFieldsInDescriptors()
const;
109 void FixForeignFieldsInDescriptor(
111 const Descriptor* containing_descriptor)
const;
112 void FixForeignFieldsInField(
const Descriptor* containing_type,
122 template <
typename DescriptorT>
123 void FixContainingTypeInDescriptor(
125 const Descriptor* containing_descriptor)
const;
127 void FixForeignFieldsInExtensions()
const;
128 void FixForeignFieldsInExtension(
132 void PrintServices()
const;
133 void PrintServiceDescriptors()
const;
137 void PrintDescriptorKeyAndModuleName(
142 bool GeneratingDescriptorProto()
const;
144 template <
typename DescriptorT>
150 template <
typename DescriptorT,
typename DescriptorProtoT>
151 void PrintSerializedPbInterval(
const DescriptorT&
descriptor,
152 DescriptorProtoT& proto)
const;
154 void FixAllDescriptorOptions()
const;
160 void CopyPublicDependenciesAliases(
const std::string& copy_from,
178 #include <google/protobuf/port_undef.inc>
180 #endif // GOOGLE_PROTOBUF_COMPILER_PYTHON_GENERATOR_H__