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