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>