Mapping.xml (141 lines of code) (raw):

<?xml version="1.0" encoding="utf-8"?> <!-- // Copyright (c) 2010-2014 SharpGen.Runtime - Alexandre Mutel // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell // copies of the Software, and to permit persons to whom the Software is // furnished to do so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in // all copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. --> <config id="sharpgen-runtime-com" xmlns="urn:SharpGen.Config"> <namespace>SharpGen.Runtime</namespace> <assembly>SharpGen.Runtime.COM</assembly> <sdk name="WindowsSdk" version="10.0.17763.0" /> <sdk name="StdLib" /> <include-prolog> // Use unicode #define UNICODE // for SAL annotations #define _PREFAST_ // To force GUID to be declared #define INITGUID #define _ALLOW_KEYWORD_MACROS // Wrap all declspec for code-gen #define __declspec(x) __attribute__((annotate(#x))) </include-prolog> <include file="windows.h" /> <include file="Unknwnbase.h" namespace="SharpGen.Runtime"> <attach>IUnknown</attach> </include> <include file="Objidlbase.h" namespace="SharpGen.Runtime.Win32" output="Win32"> <attach>STATSTG</attach> <attach>tagLOCKTYPE</attach> <attach>LOCKTYPE</attach> <attach>ISequentialStream</attach> <attach>IStream</attach> </include> <include file="wtypes.h" namespace="SharpGen.Runtime.Win32" output="Win32"> <attach>tagSTGC</attach> <attach>STGC</attach> <attach>STATFLAG</attach> </include> <include file="winerror.h" namespace="SharpGen.Runtime.Win32" output="Win32"/> <include file="winstring.h" namespace="SharpGen.Runtime.Win32" output="Win32"> <attach>WindowsCreateString</attach> </include> <!-- SharpGen global naming --> <naming /> <!-- SharpGen.Runtime global types --> <extension> <context>sharpgen-runtime-com-ext</context> <context>sharpgen-runtime-com</context> <context>winerror</context> <create-cpp enum="SHARPGEN_RUNTIME_COM_ERRORCODE" macro="ERROR_(.*)" /> <context-clear/> <define enum="System.IO.SeekOrigin" sizeof="4" underlying="System.UInt32" /> <define struct="SharpGen.Runtime.Win32.RawBool" sizeof="4" /> <define interface="SharpGen.Runtime.ComObject" /> <define interface="SharpGen.Runtime.Win32.PropertyBag"/> <define struct="SharpGen.Runtime.Win32.SecurityAttributes" sizeof="16" /> <define struct="SharpGen.Runtime.Win32.NativeMessage" sizeof="28" /> <define struct="SharpGen.Runtime.Win32.Variant" sizeof="16"/> <define struct="SharpGen.Runtime.Win32.BitmapInfoHeader" sizeof="40"/> <create class="SharpGen.Runtime.Win32.WinRTStrings" visibility="internal static" /> </extension> <!-- // ***************************************************************** // Bindings // ***************************************************************** --> <bindings> <!-- SharpGen.Runtime bindings --> <bind from="SHARPGEN_RUNTIME_SEEKORIGIN" to="System.IO.SeekOrigin" /> <!-- Win32 bindings --> <bind from="INT_PTR" to="System.IntPtr" /> <bind from="UINT_PTR" to="System.UIntPtr" /> <bind from="LONG_PTR" to="System.IntPtr" /> <bind from="ULONG_PTR" to="System.UIntPtr" /> <bind from="HANDLE_PTR" to="System.IntPtr" /> <bind from="BOOL" to="SharpGen.Runtime.Win32.RawBool"/> <bind from="HANDLE" to="System.IntPtr" /> <bind from="HRESULT" to="SharpGen.Runtime.Result" /> <bind from="SIZE_T" to="SharpGen.Runtime.PointerSize" /> <bind from="SSIZE_T" to="SharpGen.Runtime.PointerSize" /> <bind from="MSG" to="SharpGen.Runtime.Win32.NativeMessage" /> <bind from="ULARGE_INTEGER" to="System.UInt64" /> <bind from="LARGE_INTEGER" to="System.Int64" /> <bind from="FILETIME" to="System.Int64" /> <bind from="DWORD" to="System.Int32" /> <bind from="ULONG" to="System.UInt32" /> <bind from="LONG" to="System.Int32" /> <bind from="SECURITY_ATTRIBUTES" to="SharpGen.Runtime.Win32.SecurityAttributes"/> <bind from="VARIANT" to="SharpGen.Runtime.Win32.Variant"/> <bind from="PROPVARIANT" to="SharpGen.Runtime.Win32.Variant"/> <!-- Win32 structures --> <bind from="DISPPARAMS" to="System.Runtime.InteropServices.ComTypes.DISPPARAMS"/> <bind from="EXCEPINFO" to="System.Runtime.InteropServices.ComTypes.EXCEPINFO"/> <!-- COM interfaces not directly used --> <bind from="ITypeInfo" to="SharpGen.Runtime.ComObject" /> <bind from="IErrorLog" to="SharpGen.Runtime.ComObject" /> <bind from="IMoniker" to="SharpGen.Runtime.ComObject" /> <bind from="IEnumMoniker" to="SharpGen.Runtime.ComObject" /> <bind from="IBindCtx" to="SharpGen.Runtime.ComObject" /> <bind from="IRpcStubBuffer" to="SharpGen.Runtime.ComObject"/> <bind from="IRpcChannelBuffer" to="SharpGen.Runtime.ComObject"/> <bind from="IPropertyStore" to="SharpGen.Runtime.ComObject"/> <bind from="IPropertyBag2" to="SharpGen.Runtime.Win32.PropertyBag"/> <bind from="IClassFactory" to="SharpGen.Runtime.ComObject"/> <bind from="IEnumUnknown" to="SharpGen.Runtime.ComObject"/> <bind from="IEnumString" to="SharpGen.Runtime.ComObject"/> <bind from="INamedPropertyStore" to="SharpGen.Runtime.ComObject"/> <bind from="HSTRING" to="System.IntPtr" /> </bindings> <!-- SharpGen.Runtime global mapping --> <mapping> <context>sharpgen-runtime-com-ext</context> <context>sharpgen-runtime-com</context> <context>winerror</context> <map enum="SHARPGEN_RUNTIME_COM_ERRORCODE" namespace="SharpGen.Runtime.Win32" name="ErrorCode"/> <map enum-item="ERROR_(.*)" name-tmp="$1" naming="noexpand"/> <context-clear/> <context>Unknwnbase</context> <map interface="IUnknown" callback="true" callback-dual="true" callback-name="ComObject" callback-visibility="public" shadow-name="SharpGen.Runtime.ComObjectShadow" vtbl-name="SharpGen.Runtime.ComObjectShadow.ComObjectVtbl" /> <map method="IUnknown::.*" keep-implement-public="true" /> <map method="IUnknown::QueryInterface" check="false" /> <context-clear/> <!-- Map IStream --> <context>Objidlbase</context> <context>wtypes</context> <map struct="STATSTG" name="StorageStatistics" /> <map enum="STGC" name="CommitFlags" flags="true"/> <map enum-item="STGC_(.*)" name-tmp="$1"/> <map enum-item="STGC_ONLYIFCURRENT" name="OnlyCurrent"/> <map enum-item="STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE" name="DangerouslyCommitMerelyToDiskCache"/> <map enum="LOCKTYPE" name="LockType" flags="true"/> <map enum-item="LOCK_(.*)" name-tmp="$1"/> <map enum-item="LOCK_ONLYONCE" name="OnlyOnce"/> <map enum="STATFLAG" name="StorageStatisticsFlags"/> <map enum-item="STATFLAG_DEFAULT" name="Default"/> <map enum-item="STATFLAG_NONAME" name="NoName"/> <remove enum-item="STATFLAG_NOOPEN"/> <map interface="ISequentialStream" name="IStreamBase" callback-visibility="public" callback="true" callback-dual="true" callback-name="ComStreamBase" autogen-shadow="true" /> <map param="ISequentialStream::Read::pcbRead" return="true"/> <map param="ISequentialStream::Write::pcbWritten" return="true"/> <map method="ISequentialStream::.*" keep-implement-public="true"/> <map interface="IStream" name="IStream" callback-visibility="public" callback="true" callback-dual="true" callback-name="ComStream" autogen-shadow="true" /> <map param="IStream::Seek::dwOrigin" type="SHARPGEN_RUNTIME_SEEKORIGIN"/> <map param="IStream::Seek::plibNewPosition" return="true"/> <map param="IStream::CopyTo::pcbRead" attribute="out" return="true"/> <map param="IStream::CopyTo::pcbWritten" attribute="out"/> <map param="IStream::Commit::grfCommitFlags" type="STGC"/> <map param="IStream::.*::dwLockType" type="LOCKTYPE"/> <map method="IStream::Stat" name="GetStatistics" /> <map param="IStream::Stat::pstatstg" attribute="out" return="true"/> <map param="IStream::Stat::grfStatFlag" type="STATFLAG"/> <map param="IStream::Clone::ppstm" return="true"/> <map method="IStream::.*" keep-implement-public="true" property="false" /> <context-clear/> <context>winstring</context> <map function="WindowsCreateString" dll='"api-ms-win-core-winrt-string-l1"' group="SharpGen.Runtime.Win32.WinRTStrings" /> <context-clear /> </mapping> </config>