зеркало из https://github.com/microsoft/cppwinrt.git
107 строки
3.5 KiB
Plaintext
107 строки
3.5 KiB
Plaintext
import "Windows.Foundation.idl";
|
|
|
|
namespace Windows.Foundation.Metadata
|
|
{
|
|
[attributeusage(target_method, target_property)]
|
|
[attributename("noexcept2")]
|
|
attribute NoExceptionAttribute
|
|
{
|
|
}
|
|
}
|
|
|
|
namespace Composable
|
|
{
|
|
runtimeclass Base;
|
|
runtimeclass Derived;
|
|
|
|
[version(1.0), uuid(1B0CDE64-5FAF-4316-AF37-48C790329D32), exclusiveto(Base)]
|
|
interface IBase : IInspectable
|
|
{
|
|
HRESULT VirtualMethod([out, retval] HSTRING* value);
|
|
HRESULT CallOverridableMethod([out, retval] HSTRING* value);
|
|
HRESULT CallOverridableVirtualMethod([out, retval] HSTRING* value);
|
|
[noexcept2] HRESULT CallOverridableNoexceptMethod([out, retval] int* value);
|
|
|
|
[propget] HRESULT Name([out, retval] HSTRING* value);
|
|
};
|
|
|
|
[version(1.0), uuid(37AF44A4-8FC6-4BD8-A12F-D63ED119EF45), exclusiveto(Base)]
|
|
interface IBaseFactory : IInspectable
|
|
{
|
|
HRESULT CreateInstance([in] IInspectable* outer, [out] IInspectable** inner, [out][retval] Composable.Base** instance);
|
|
HRESULT CreateInstanceWithName([in] HSTRING name, [in] IInspectable* outer, [out] IInspectable** inner, [out][retval] Composable.Base** instance);
|
|
};
|
|
|
|
[version(1.0), uuid(A4DB9277-E6B7-4936-BF41-CDF042E278E2), exclusiveto(Base)]
|
|
interface IBaseOverrides : IInspectable
|
|
{
|
|
HRESULT OverridableMethod([out, retval] HSTRING* value);
|
|
HRESULT OverridableVirtualMethod([out, retval] HSTRING* value);
|
|
[noexcept2] HRESULT OverridableNoexceptMethod([out, retval] int* value);
|
|
};
|
|
|
|
[version(1.0), uuid(6EA77EAE-56BC-419D-AE70-211C1A631496), exclusiveto(Base)]
|
|
interface IBaseProtected : IInspectable
|
|
{
|
|
HRESULT ProtectedMethod([out, retval] int* value);
|
|
};
|
|
|
|
[version(1.0), uuid(5f3996e1-3cf7-4716-9a3d-11eb5d32caff), exclusiveto(Derived)]
|
|
interface IDerived : IInspectable
|
|
{
|
|
HRESULT CallProtectedMethod([out, retval] int* value);
|
|
};
|
|
|
|
[version(1.0), uuid(56dc2c28-edd1-4fa3-91e5-f63c3db47070), exclusiveto(Derived)]
|
|
interface IDerivedFactory : IInspectable
|
|
{
|
|
HRESULT CreateInstance([in] IInspectable* outer, [out] IInspectable** inner, [out][retval] Composable.Derived** instance);
|
|
HRESULT CreateInstanceWithName([in] HSTRING name, [in] IInspectable* outer, [out] IInspectable** inner, [out][retval] Composable.Derived** instance);
|
|
};
|
|
|
|
[composable(Composable.IBaseFactory, public, 1.0)]
|
|
[version(1.0)]
|
|
[threading(both)]
|
|
[marshaling_behavior(agile)]
|
|
runtimeclass Base
|
|
{
|
|
[default] interface IBase;
|
|
[overridable] interface Composable.IBaseOverrides;
|
|
[protected] interface Composable.IBaseProtected;
|
|
};
|
|
|
|
[composable(Composable.IDerivedFactory, public, 1.0)]
|
|
[version(1.0)]
|
|
[threading(both)]
|
|
[marshaling_behavior(agile)]
|
|
runtimeclass Derived : Base
|
|
{
|
|
[default] interface IDerived;
|
|
};
|
|
|
|
typedef enum TestStructCodeGenType TestStructCodeGenType;
|
|
typedef struct TestStructCodeGen TestStructCodeGen;
|
|
|
|
[version(1.0)]
|
|
enum TestStructCodeGenType
|
|
{
|
|
Auto = 0,
|
|
Pixel = 1,
|
|
Star = 2
|
|
};
|
|
|
|
[version(1.0)]
|
|
struct TestStructCodeGen
|
|
{
|
|
DOUBLE Value;
|
|
TestStructCodeGenType GridUnitType;
|
|
};
|
|
|
|
[version(1.0), uuid(9849e7b1-e906-4d32-a696-5df471b1727d)]
|
|
interface ITestStructCodeGen : IInspectable
|
|
{
|
|
HRESULT Test1([in] int a, [in] TestStructCodeGen b, [out,retval] DOUBLE* result);
|
|
HRESULT Test2([in] TestStructCodeGen b, [in] int a, [out, retval] DOUBLE* result);
|
|
};
|
|
}
|