• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Protocol Buffers - Google's data interchange format
2 // Copyright 2022 Google Inc.  All rights reserved.
3 //
4 // Use of this source code is governed by a BSD-style
5 // license that can be found in the LICENSE file or at
6 // https://developers.google.com/open-source/licenses/bsd
7 
8 #ifndef GOOGLE_PROTOBUF_COMPILER_CPP_TRACKER_H__
9 #define GOOGLE_PROTOBUF_COMPILER_CPP_TRACKER_H__
10 
11 #include <vector>
12 
13 #include "google/protobuf/compiler/cpp/options.h"
14 #include "google/protobuf/descriptor.h"
15 #include "google/protobuf/io/printer.h"
16 
17 namespace google {
18 namespace protobuf {
19 namespace compiler {
20 namespace cpp {
21 
22 // Generates printer substitutions for message-level tracker callbacks.
23 std::vector<google::protobuf::io::Printer::Sub> MakeTrackerCalls(
24     const google::protobuf::Descriptor* message, const Options& opts);
25 
26 // Generates printer substitutions for field-specific tracker callbacks.
27 std::vector<google::protobuf::io::Printer::Sub> MakeTrackerCalls(
28     const google::protobuf::FieldDescriptor* field, const Options& opts);
29 
30 }  // namespace cpp
31 }  // namespace compiler
32 }  // namespace protobuf
33 }  // namespace google
34 
35 #endif  // GOOGLE_PROTOBUF_COMPILER_CPP_TRACKER_H__
36