Brian Silverman | 7edd1ce | 2022-07-23 16:10:54 -0700 | [diff] [blame] | 1 | #ifndef AOS_CONFIGURATION_FOR_RUST_H_ |
| 2 | #define AOS_CONFIGURATION_FOR_RUST_H_ |
| 3 | |
| 4 | #include "aos/configuration.h" |
| 5 | #include "cxx.h" |
| 6 | |
| 7 | namespace aos::configuration { |
| 8 | |
| 9 | const Channel *GetChannelForRust(const Configuration *config, rust::Str name, |
| 10 | rust::Str type, rust::Str application_name, |
| 11 | const Node *node); |
| 12 | |
Brian Silverman | 67cdbd6 | 2022-08-15 06:03:55 -0700 | [diff] [blame^] | 13 | const Node *GetNodeForRust(const Configuration *config, rust::Str name); |
| 14 | |
Brian Silverman | 7edd1ce | 2022-07-23 16:10:54 -0700 | [diff] [blame] | 15 | // Returns a Configuration flatbuffer. Returns an empty vector on errors. |
Brian Silverman | 67cdbd6 | 2022-08-15 06:03:55 -0700 | [diff] [blame^] | 16 | // TODO(Brian): It would be nice to return more detailed errors (not found vs |
| 17 | // could not parse vs merging error). |
Brian Silverman | 7edd1ce | 2022-07-23 16:10:54 -0700 | [diff] [blame] | 18 | rust::Vec<uint8_t> MaybeReadConfigForRust( |
| 19 | rust::Str path, rust::Slice<const rust::Str> extra_import_paths); |
| 20 | |
| 21 | } // namespace aos::configuration |
| 22 | |
| 23 | #endif // AOS_CONFIGURATION_FOR_RUST_H_ |