Stephan Pleines | 6191f1d | 2024-05-30 20:44:45 -0700 | [diff] [blame^] | 1 | #include <stdlib.h> |
| 2 | |
James Kuszmaul | f5eb468 | 2023-09-22 17:16:59 -0700 | [diff] [blame] | 3 | #include "flatbuffers/reflection_generated.h" |
Stephan Pleines | 6191f1d | 2024-05-30 20:44:45 -0700 | [diff] [blame^] | 4 | #include "gflags/gflags.h" |
James Kuszmaul | f5eb468 | 2023-09-22 17:16:59 -0700 | [diff] [blame] | 5 | |
| 6 | #include "aos/flatbuffers.h" |
| 7 | #include "aos/flatbuffers/static_flatbuffers.h" |
| 8 | #include "aos/init.h" |
| 9 | #include "aos/json_to_flatbuffer.h" |
| 10 | #include "aos/util/file.h" |
| 11 | |
| 12 | DEFINE_string(reflection_bfbs, "", "Path to the .bfbs reflection file."); |
| 13 | DEFINE_string(output_file, "", "Path to the output header to write."); |
James Kuszmaul | 9a2d5f0 | 2023-12-14 11:38:35 -0800 | [diff] [blame] | 14 | DEFINE_string(base_file_name, "", |
| 15 | "Name of the base file to generate code for as used by the " |
| 16 | "reflection::Schema object."); |
James Kuszmaul | f5eb468 | 2023-09-22 17:16:59 -0700 | [diff] [blame] | 17 | |
| 18 | namespace aos::fbs { |
| 19 | int Main() { |
| 20 | aos::FlatbufferVector<reflection::Schema> schema = |
| 21 | aos::FileToFlatbuffer<reflection::Schema>(FLAGS_reflection_bfbs); |
| 22 | aos::util::WriteStringToFileOrDie( |
James Kuszmaul | 9a2d5f0 | 2023-12-14 11:38:35 -0800 | [diff] [blame] | 23 | FLAGS_output_file, |
| 24 | GenerateCodeForRootTableFile(&schema.message(), FLAGS_base_file_name)); |
James Kuszmaul | f5eb468 | 2023-09-22 17:16:59 -0700 | [diff] [blame] | 25 | return EXIT_SUCCESS; |
| 26 | } |
| 27 | } // namespace aos::fbs |
| 28 | int main(int argc, char *argv[]) { |
| 29 | aos::InitGoogle(&argc, &argv); |
| 30 | return aos::fbs::Main(); |
| 31 | } |