sun::moon_bundling::ProtoImporter
class · Source (opens in a new tab)
class sun::moon_bundling::ProtoImporterLoads protobuf schemas and produces matching Sun declarations and codecs.
Public Functions
import
public · function · static · Source (opens in a new tab)
SynthesizedProtoModule sun::moon_bundling::ProtoImporter::import(const std::string &protoPath, const std::vector< std::string > &importDirs)Import protoPath (already resolved to a real file).
Proto-level import statements resolve against the proto's own directory, then importDirs in order. Throws SunError with file:line:col diagnostics on schema errors and on unsupported constructs.
Related: SynthesizedProtoModule, import, SunError
importAll
public · function · static · Source (opens in a new tab)
std::vector< SynthesizedProtoModule > sun::moon_bundling::ProtoImporter::importAll(const std::vector< std::string > &protoFiles, const std::string &baseDir)Import every schema of a manifest (resolved paths) with importDirsFor(baseDir).
Related: SynthesizedProtoModule
importDirsFor
public · function · static · Source (opens in a new tab)
std::vector< std::string > sun::moon_bundling::ProtoImporter::importDirsFor(const std::string &baseDir)The standard import directories for schemas listed in a manifest: the manifest's base directory followed by the SUN_PATH entries.