// vim: set filetype=c : // // delegates.m: // // Authors: // Rolf Bjarne Kvinge // // Copyright 2013-2014 Xamarin Inc. // <#@ include file="delegates.t4" #> /* * This file was generated from delegates.inc.t4, any modifications will be lost once this file is re-generated. */ #include "delegates.h" <# foreach (var d in delegates) { #> <# if (d.OnlyCoreCLR) Write ("#if DOTNET\n"); #> typedef <#= d.ReturnType.InterfaceCType #><#= d.AlignCReturnType #> (*func_<#= d.EntryPoint #>)<#= d.AlignEntryPoint #> (<#= d.CArgumentSignature #>); <# if (d.OnlyCoreCLR) Write ("#endif // DOTNET\n"); #> <# } #> struct Delegates { <# foreach (var d in delegates) { #> <# if (d.OnlyCoreCLR) Write ("#if DOTNET\n"); #> func_<#= d.EntryPoint #><#= d.AlignEntryPoint #> <#= d.SimpleEntryPoint #>; <# if (d.OnlyCoreCLR) Write ("#endif // DOTNET\n"); #> <# } #> }; static struct Delegates delegates = { 0 }; static GCHandle create_linked_away_exception (const char *func) { char *msg = xamarin_strdup_printf ("The runtime function %s has been linked away.", func); GCHandle gchandle = xamarin_create_product_exception (8028, msg); xamarin_free (msg); return gchandle; } <# foreach (var d in delegates) { #> <# if (d.OnlyCoreCLR) Write ("#if defined (CORECLR_RUNTIME)\n"); #> <#= d.Function #> <# if (d.OnlyCoreCLR) Write ("#endif // CORECLR_RUNTIME\n"); #> <# } #>