interface · System.Bindings

IBindingProfile

public interface IBindingProfile

What larva bind --profile asks a profile, in this order: Configure (once, before the headers are read), Start (with everything read), Enum, Struct, Constant and Function for each declaration (false leaves it out), Name for each name not set by those hooks, then Finish. BindingProfile answers each one as the settings say.

Kind
interface
Namespace
System.Bindings
Assembly
System.Bindings
Access
public
Source file
Profile.ant

Inheritance

Implemented by
BindingProfile

Private and internal members (8)

Configure(BindingSettings settings)
#

private abstract

The binding's settings: what is read, where it goes, the rules names follow.

Start(BindingModel model)
#

private abstract

Everything the headers declare, before each declaration is asked about: make enums from constants, rename in bulk.

Enum(CEnum e) : bool
#

private abstract

A C enum (or one Start made); false leaves it out (its values become constants).

Struct(CStruct s) : bool
#

private abstract

A struct or union; false leaves it out.

Constant(CConstant c) : bool
#

private abstract

A constant; false leaves it out.

Function(CFunction f) : bool
#

private abstract

A function; false leaves it out.

Name(NameKind kind, str cName, str proposed) : str
#

private abstract

The name cName (of that kind) gets: proposed is what the settings make of it.

Finish(BindingModel model)
#

private abstract

The whole binding, named and placed, before it is written: last changes.

Source

IBindingProfile as Antril, decompiled from its Larva HIR.

System.Bindings.IBindingProfile.ant
// System.Bindings.IBindingProfile — System.Bindings (decompiled from Larva HIR)

into namespace System.Bindings
{
	/// What `larva bind --profile` asks a profile, in this order: `Configure` (once, before the headers are read), `Start`
	/// (with everything read), `Enum`, `Struct`, `Constant` and `Function` for each declaration (false leaves it out),
	/// `Name` for each name not set by those hooks, then `Finish`. `BindingProfile` answers each one as the settings say.
	public interface IBindingProfile
	{
		/// The binding's settings: what is read, where it goes, the rules names follow.
		Configure(BindingSettings settings);

		/// Everything the headers declare, before each declaration is asked about: make enums from constants, rename in bulk.
		Start(BindingModel model);

		/// A C enum (or one `Start` made); false leaves it out (its values become constants).
		Enum(CEnum e) : bool;

		/// A struct or union; false leaves it out.
		Struct(CStruct s) : bool;

		/// A constant; false leaves it out.
		Constant(CConstant c) : bool;

		/// A function; false leaves it out.
		Function(CFunction f) : bool;

		/// The name `cName` (of that kind) gets: `proposed` is what the settings make of it.
		Name(NameKind kind, str cName, str proposed) : str;

		/// The whole binding, named and placed, before it is written: last changes.
		Finish(BindingModel model);
	}
}
Esc