sun::moon_bundling::ProtoImporter

sun::moon_bundling::ProtoImporter

class · Source (opens in a new tab)

class sun::moon_bundling::ProtoImporter

Loads 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.