f9ed04b3d9
It is very unlikely the protobuf changes the value in descriptor.h, and if defines an extra mapping, there are several places to maintain: 1. java-stream, 2. cpp-stream, 3. ProtoOutputStream.java 4. ProtoOutputStream.cpp 5. Privacy.h (GetFieldId) 6. StatsLog to generate field id (type << 32 + field number) Therefore use the current value in descriptor.h seems reasonable unless they change that, very very unlikely, they probably will just add new types, and deprect the existing ones like Group. Test: test output of dumpsys proto Change-Id: I6e150ab427851dd3b5dd55d3b273deeed7a0963c
30 lines
685 B
C++
30 lines
685 B
C++
#include <stdint.h>
|
|
|
|
#include "google/protobuf/compiler/plugin.pb.h"
|
|
#include "google/protobuf/io/zero_copy_stream_impl.h"
|
|
|
|
namespace android {
|
|
namespace stream_proto {
|
|
|
|
using namespace google::protobuf;
|
|
using namespace google::protobuf::compiler;
|
|
using namespace std;
|
|
|
|
/**
|
|
* Get encoded field id from a field.
|
|
*/
|
|
uint64_t get_field_id(const FieldDescriptorProto& field);
|
|
|
|
/**
|
|
* Get the string name for a field.
|
|
*/
|
|
string get_proto_type(const FieldDescriptorProto& field);
|
|
|
|
/**
|
|
* See if this is the file for this request, and not one of the imported ones.
|
|
*/
|
|
bool should_generate_for_file(const CodeGeneratorRequest& request, const string& file);
|
|
|
|
} // stream_proto
|
|
} // android
|