1f9ed04b3d938b06329fcd14d4f2b461000d028daYi Jin#include <stdint.h>
2f9ed04b3d938b06329fcd14d4f2b461000d028daYi Jin
3f9ed04b3d938b06329fcd14d4f2b461000d028daYi Jin#include "google/protobuf/compiler/plugin.pb.h"
4f9ed04b3d938b06329fcd14d4f2b461000d028daYi Jin#include "google/protobuf/io/zero_copy_stream_impl.h"
5f9ed04b3d938b06329fcd14d4f2b461000d028daYi Jin
6f9ed04b3d938b06329fcd14d4f2b461000d028daYi Jinnamespace android {
7f9ed04b3d938b06329fcd14d4f2b461000d028daYi Jinnamespace stream_proto {
8f9ed04b3d938b06329fcd14d4f2b461000d028daYi Jin
9f9ed04b3d938b06329fcd14d4f2b461000d028daYi Jinusing namespace google::protobuf;
10f9ed04b3d938b06329fcd14d4f2b461000d028daYi Jinusing namespace google::protobuf::compiler;
11f9ed04b3d938b06329fcd14d4f2b461000d028daYi Jinusing namespace std;
12f9ed04b3d938b06329fcd14d4f2b461000d028daYi Jin
13f9ed04b3d938b06329fcd14d4f2b461000d028daYi Jin/**
14f9ed04b3d938b06329fcd14d4f2b461000d028daYi Jin * Get encoded field id from a field.
15f9ed04b3d938b06329fcd14d4f2b461000d028daYi Jin */
16f9ed04b3d938b06329fcd14d4f2b461000d028daYi Jinuint64_t get_field_id(const FieldDescriptorProto& field);
17f9ed04b3d938b06329fcd14d4f2b461000d028daYi Jin
18f9ed04b3d938b06329fcd14d4f2b461000d028daYi Jin/**
19f9ed04b3d938b06329fcd14d4f2b461000d028daYi Jin * Get the string name for a field.
20f9ed04b3d938b06329fcd14d4f2b461000d028daYi Jin */
21f9ed04b3d938b06329fcd14d4f2b461000d028daYi Jinstring get_proto_type(const FieldDescriptorProto& field);
22f9ed04b3d938b06329fcd14d4f2b461000d028daYi Jin
23f9ed04b3d938b06329fcd14d4f2b461000d028daYi Jin/**
24f9ed04b3d938b06329fcd14d4f2b461000d028daYi Jin * See if this is the file for this request, and not one of the imported ones.
25f9ed04b3d938b06329fcd14d4f2b461000d028daYi Jin */
26f9ed04b3d938b06329fcd14d4f2b461000d028daYi Jinbool should_generate_for_file(const CodeGeneratorRequest& request, const string& file);
27f9ed04b3d938b06329fcd14d4f2b461000d028daYi Jin
28f9ed04b3d938b06329fcd14d4f2b461000d028daYi Jin} // stream_proto
29f9ed04b3d938b06329fcd14d4f2b461000d028daYi Jin} // android
30