/* inversion-0.1.vapi generated by valac 0.56.19, do not modify. */ [CCode (gir_namespace = "inversion", gir_version = "0.1")] namespace Inversion { [CCode (cheader_filename = "inversion-0.1.h")] public class Container : GLib.Object { public Container (); public T configure_with () throws GLib.Error; public Inversion.Scope create_scope (); public Inversion.Scope create_transient_scope (); public Invercargill.Enumerable get_all_registrations (); public Inversion.Registration get_registration (GLib.Type service_type) throws Inversion.ContainerError; public Invercargill.Enumerable get_registrations (GLib.Type service_type); public void initialise () throws GLib.Error; public bool is_registered (GLib.Type type); public Inversion.Registration register (owned Inversion.TypedFactoryDelegate? factory_func, Inversion.Lifecycle lifecycle); public Inversion.Registration register_factory (Inversion.Factory factory, Inversion.Lifecycle lifecycle); public Inversion.Registration register_factory_type (GLib.Type implementation_type, Inversion.Factory factory, Inversion.Lifecycle lifecycle); public Inversion.Registration register_module (owned Inversion.TypedFactoryDelegate? factory_func = null) throws GLib.Error; public Inversion.Registration register_module_factory_type (GLib.Type type, Inversion.Factory factory) throws GLib.Error; public Inversion.Registration register_module_type (GLib.Type type, owned Inversion.FactoryDelegate? factory_func = null) throws GLib.Error; public Inversion.Registration register_scoped (owned Inversion.TypedFactoryDelegate? factory_func = null); public Inversion.Registration register_singleton (owned Inversion.TypedFactoryDelegate? factory_func = null); public Inversion.Registration register_startup (owned Inversion.TypedFactoryDelegate? factory_func = null); public Inversion.Registration register_transient (owned Inversion.TypedFactoryDelegate? factory_func = null); public Inversion.Registration register_type (GLib.Type implementation_type, owned Inversion.FactoryDelegate? factory_func, Inversion.Lifecycle lifecycle); } [CCode (cheader_filename = "inversion-0.1.h")] public class DelegateFactory : GLib.Object, Inversion.Factory { public DelegateFactory (owned Inversion.FactoryDelegate @delegate); public static Inversion.DelegateFactory typed (owned Inversion.TypedFactoryDelegate @delegate); } [CCode (cheader_filename = "inversion-0.1.h")] public class InjectionContext { public InjectionContext (Inversion.Scope scope, GLib.Type requested_type, Inversion.Registration registration, Inversion.InjectionContext? previous = null); public GLib.Error? error { get; set; } public Inversion.InjectionContext? previous_context { get; set; } public Inversion.Registration registration { get; set; } public GLib.Type requested_type { get; set; } public Inversion.Scope scope { get; set; } public Invercargill.DataStructures.HashSet stack_registrations { get; set; } } [CCode (cheader_filename = "inversion-0.1.h")] public class InstanceFactory : GLib.Object, Inversion.Factory { public InstanceFactory (Inversion.Registration registration, GLib.Object instance); public Inversion.Registration registration { get; set construct; } } [CCode (cheader_filename = "inversion-0.1.h")] public class ObjectFactory : GLib.Object, Inversion.Factory { public ObjectFactory (GLib.Type instance_type); public GLib.Type instance_type { get; construct; } } [CCode (cheader_filename = "inversion-0.1.h")] public class Registration : GLib.Object { public Registration (GLib.Type implementation_type, Inversion.Factory factory, Inversion.Lifecycle lifecycle); public Inversion.Registration @as (); public Inversion.Registration as_type (GLib.Type type); public Invercargill.Enumerable get_metadata (); public Invercargill.Enumerable get_metadata_type (GLib.Type type); public bool provides (GLib.Type type); public Inversion.Registration with_metadata (T metadata); public Inversion.Registration with_metadata_type (GLib.Type type, GLib.Object metadata); public Inversion.Factory factory { get; set construct; } public GLib.Type implementation_type { get; set construct; } public Inversion.Lifecycle lifecycle { get; set construct; } public Invercargill.ImmutableLot type_aliases { get; private set; } public signal void alias_added (GLib.Type alias); } [CCode (cheader_filename = "inversion-0.1.h")] public class Scope : GLib.Object { public Invercargill.Enumerable get_all_registrations (); public Invercargill.Enumerable get_local_registrations (GLib.Type service_type); public Inversion.Registration get_registration (GLib.Type service_type) throws Inversion.ContainerError; public Invercargill.Enumerable get_registrations (GLib.Type service_type); public bool is_locally_registered (GLib.Type type); public bool is_registered (GLib.Type type); public Inversion.Registration register_local (owned Inversion.TypedFactoryDelegate? factory_func = null, Inversion.Lifecycle lifecycle = Lifecycle.SCOPED); public Inversion.Registration register_local_factory (Inversion.Factory factory, Inversion.Lifecycle lifecycle); public Inversion.Registration register_local_factory_type (GLib.Type implementation_type, Inversion.Factory factory, Inversion.Lifecycle lifecycle); public Inversion.Registration register_local_scoped (owned Inversion.TypedFactoryDelegate? factory_func = null); public Inversion.Registration register_local_transient (owned Inversion.TypedFactoryDelegate? factory_func = null); public Inversion.Registration register_local_type (GLib.Type implementation_type, owned Inversion.FactoryDelegate? factory_func, Inversion.Lifecycle lifecycle); public void release (); public T resolve () throws GLib.Error; public Invercargill.Enumerable resolve_all () throws GLib.Error; public Invercargill.Enumerable resolve_all_type (GLib.Type type) throws GLib.Error; public GLib.Object resolve_registration (Inversion.Registration registration) throws GLib.Error; public GLib.Object resolve_type (GLib.Type type) throws GLib.Error; public Inversion.Container container { get; set construct; } public Inversion.Lifecycle scope_lifecycle { get; set construct; } } [CCode (cheader_filename = "inversion-0.1.h")] public interface Factory : GLib.Object { public abstract GLib.Object create (Inversion.Scope scope) throws GLib.Error; } [CCode (cheader_filename = "inversion-0.1.h")] public interface Module : GLib.Object { public abstract void register_components (Inversion.Container container) throws GLib.Error; } [CCode (cheader_filename = "inversion-0.1.h")] public enum Lifecycle { TRANSIENT, SCOPED, SINGLETON, STARTUP } [CCode (cheader_filename = "inversion-0.1.h")] public errordomain ContainerError { NOT_REGISTERED, CYCLE_DETECTED, ILLEGAL_LIFECYCLE_COMBINATION, INCOMPATIBLE_TYPE } [CCode (cheader_filename = "inversion-0.1.h")] public delegate GLib.Object FactoryDelegate (Inversion.Scope scope) throws GLib.Error; [CCode (cheader_filename = "inversion-0.1.h")] public delegate T TypedFactoryDelegate (Inversion.Scope scope) throws GLib.Error; [CCode (cheader_filename = "inversion-0.1.h")] public static GLib.Object create_with_injection_context (Inversion.Scope scope, GLib.Type requested_type, Inversion.Registration registration) throws GLib.Error; [CCode (cheader_filename = "inversion-0.1.h")] public static Inversion.InjectionContext enter_new_injection_context (Inversion.Scope scope, GLib.Type requested_type, Inversion.Registration registration) throws GLib.Error; [CCode (cheader_filename = "inversion-0.1.h")] public static void exit_injection_context () throws GLib.Error; [CCode (cheader_filename = "inversion-0.1.h")] public static Inversion.InjectionContext get_injection_context (); [CCode (cheader_filename = "inversion-0.1.h")] public static T inject (); [CCode (cheader_filename = "inversion-0.1.h")] public static Invercargill.Lot inject_all (); [CCode (cheader_filename = "inversion-0.1.h")] public static Inversion.InjectionContext? try_get_injection_context (); [CCode (cheader_filename = "inversion-0.1.h")] public static T try_inject (); [CCode (cheader_filename = "inversion-0.1.h")] public static Invercargill.Lot try_inject_all (); }