SdkTests/Interface/Mapping.xml (51 lines of code) (raw):

<?xml version="1.0" encoding="utf-8"?> <config id="Interface" xmlns="urn:SharpGen.Config"> <namespace>Interface</namespace> <assembly>Interface</assembly> <sdk name="StdLib" /> <include-dir>$(THIS_CONFIG_PATH)\..\Native\Interface</include-dir> <include file="InterfaceNative.h" attach="true" /> <extension> <create class="Interface.Functions" visibility="public static" /> </extension> <bindings> <bind from="RESULT" to="SharpGen.Runtime.Result" /> <bind from="SHARPGEN_RUNTIME_SEEKORIGIN" to="System.IO.SeekOrigin" /> </bindings> <mapping> <map interface="IInterface" callback="true" callback-dual="true" callback-name="CppImplementation" name="NativeInterface" callback-visibility="public" /> <map interface="IInterface2" name="NativeInterface2" /> <map function=".*" dll='"InterfaceNative.dll"' group="Interface.Functions" /> <map param="IInterface2::AddToThis::interfaces" attribute="in buffer" /> <move method="ILargeInterface::Method3" to="InnerInterface" property="Inner" /> <map method="InterfaceWithProperties::(.*)" custom-vtbl="true" /> <map param="InterfaceWithProperties::GetValue2(.*)::(.*)" attribute="out" /> <map param="InterfaceWithProperties::IsTrueOutProp::(.*)" attribute="out" /> <map method="InterfaceWithProperties::(.+)Persistent" persist="true" /> <!-- Shadow auto-gen mappings --> <map interface="CallbackInterface" callback="true" callback-dual="true" autogen-shadow="true" /> <map param="CallbackInterface::GetZero::ppValue" attribute="out" /> <map param="CallbackInterface::Increment::pValue" attribute="inout" /> <map method="CallbackInterface::.*" property="false" /> <map param="CallbackInterface::MappedTypeTest::i" type="unsigned int" /> <map param="CallbackInterface::ModifyPointer::out" attribute="out" return="true" /> <map param="CallbackInterface::ArrayRelation(.*)::array" attribute="in buffer" /> <map param="CallbackInterface::ArrayRelation(.*)::length" relation="length(array)" /> <!-- Issue #67 --> <map interface="FastOutInterface" callback="true" callback-dual="true" autogen-shadow="true" /> <map param="FastOutInterfaceTest::out" attribute="fast out" /> <map interface="IStream" callback-visibility="public" callback="true" callback-dual="true" callback-name="ComStream" autogen-shadow="true" /> <map param="IStream::QueryInterface::ppvObject" attribute="out" /> <map param="IStream::Seek::dwOrigin" type="SHARPGEN_RUNTIME_SEEKORIGIN"/> <map param="IStream::Seek::plibNewPosition" return="true" attribute="out optional"/> <map param="IStream::CopyTo::pcbRead" attribute="out" return="true"/> <map param="IStream::CopyTo::pcbWritten" attribute="out"/> <map method="IStream::Stat" name="GetStatistics" /> <map param="IStream::Stat::pstatstg" attribute="out" return="true"/> <map param="IStream::Clone::ppstm" attribute="out" return="true"/> <map param="IStream::Read::pv" attribute="out buffer"/> <map param="IStream::Read::pcbRead" attribute="out optional" return="true"/> <map param="IStream::Write::pv" attribute="in buffer"/> <map param="IStream::Write::pcbWritten" attribute="out optional" return="true"/> <map method="IStream::.*" keep-implement-public="true"/> </mapping> <depends>SharpGen.Runtime</depends> </config>