// // Copyright (c) Microsoft Corporation. All rights reserved. // // // File generated by WinMDIDL version 8.00.0021 // import "inspectable.idl"; import "AsyncInfo.idl"; import "EventToken.idl"; import "windowscontracts.idl"; import "Windows.Foundation.idl"; // Forward Declare namespace Windows { namespace Foundation { apicontract UniversalApiContract; } } namespace Windows { namespace UI { namespace Xaml { namespace Interop { typedef enum NotifyCollectionChangedAction NotifyCollectionChangedAction; typedef enum TypeKind TypeKind; typedef struct TypeName TypeName; delegate BindableVectorChangedEventHandler; delegate NotifyCollectionChangedEventHandler; interface IBindableIterable; interface IBindableIterator; interface IBindableObservableVector; interface IBindableVector; interface IBindableVectorView; interface INotifyCollectionChanged; interface INotifyCollectionChangedEventArgs; interface INotifyCollectionChangedEventArgsFactory; runtimeclass NotifyCollectionChangedEventArgs; } } } } // Generic instantiations // Type definition namespace Windows { namespace UI { namespace Xaml { namespace Interop { [contract(Windows.Foundation.UniversalApiContract, 1.0)] enum NotifyCollectionChangedAction { Add = 0, Remove = 1, Replace = 2, Move = 3, Reset = 4 }; [contract(Windows.Foundation.UniversalApiContract, 1.0)] enum TypeKind { Primitive = 0, Metadata = 1, Custom = 2 }; [contract(Windows.Foundation.UniversalApiContract, 1.0)] struct TypeName { HSTRING Name; Windows.UI.Xaml.Interop.TypeKind Kind; }; [contract(Windows.Foundation.UniversalApiContract, 1.0)] [uuid(624CD4E1-D007-43B1-9C03-AF4D3E6258C4)] delegate HRESULT BindableVectorChangedEventHandler([in] Windows.UI.Xaml.Interop.IBindableObservableVector* vector, [in] IInspectable* e); [contract(Windows.Foundation.UniversalApiContract, 1.0)] [uuid(CA10B37C-F382-4591-8557-5E24965279B0)] delegate HRESULT NotifyCollectionChangedEventHandler([in] IInspectable* sender, [in] Windows.UI.Xaml.Interop.NotifyCollectionChangedEventArgs* e); [contract(Windows.Foundation.UniversalApiContract, 1.0)] [uuid(036D2C08-DF29-41AF-8AA2-D774BE62BA6F)] interface IBindableIterable : IInspectable { HRESULT First([out] [retval] Windows.UI.Xaml.Interop.IBindableIterator** result); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [uuid(6A1D6C07-076D-49F2-8314-F52C9C9A8331)] interface IBindableIterator : IInspectable { [propget] HRESULT Current([out] [retval] IInspectable** value); [propget] HRESULT HasCurrent([out] [retval] boolean* value); HRESULT MoveNext([out] [retval] boolean* result); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [uuid(FE1EB536-7E7F-4F90-AC9A-474984AAE512)] interface IBindableObservableVector : IInspectable requires Windows.UI.Xaml.Interop.IBindableVector, Windows.UI.Xaml.Interop.IBindableIterable { [eventadd] HRESULT VectorChanged([in] Windows.UI.Xaml.Interop.BindableVectorChangedEventHandler* handler, [out] [retval] EventRegistrationToken* token); [eventremove] HRESULT VectorChanged([in] EventRegistrationToken token); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [uuid(393DE7DE-6FD0-4C0D-BB71-47244A113E93)] interface IBindableVector : IInspectable requires Windows.UI.Xaml.Interop.IBindableIterable { HRESULT GetAt([in] UINT32 index, [out] [retval] IInspectable** result); [propget] HRESULT Size([out] [retval] UINT32* value); HRESULT GetView([out] [retval] Windows.UI.Xaml.Interop.IBindableVectorView** result); HRESULT IndexOf([in] IInspectable* value, [out] UINT32* index, [out] [retval] boolean* returnValue); HRESULT SetAt([in] UINT32 index, [in] IInspectable* value); HRESULT InsertAt([in] UINT32 index, [in] IInspectable* value); HRESULT RemoveAt([in] UINT32 index); HRESULT Append([in] IInspectable* value); HRESULT RemoveAtEnd(); HRESULT Clear(); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [uuid(346DD6E7-976E-4BC3-815D-ECE243BC0F33)] interface IBindableVectorView : IInspectable requires Windows.UI.Xaml.Interop.IBindableIterable { HRESULT GetAt([in] UINT32 index, [out] [retval] IInspectable** result); [propget] HRESULT Size([out] [retval] UINT32* value); HRESULT IndexOf([in] IInspectable* value, [out] UINT32* index, [out] [retval] boolean* returnValue); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [uuid(28B167D5-1A31-465B-9B25-D5C3AE686C40)] interface INotifyCollectionChanged : IInspectable { [eventadd] HRESULT CollectionChanged([in] Windows.UI.Xaml.Interop.NotifyCollectionChangedEventHandler* handler, [out] [retval] EventRegistrationToken* token); [eventremove] HRESULT CollectionChanged([in] EventRegistrationToken token); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.UI.Xaml.Interop.NotifyCollectionChangedEventArgs)] [uuid(4CF68D33-E3F2-4964-B85E-945B4F7E2F21)] interface INotifyCollectionChangedEventArgs : IInspectable { [propget] HRESULT Action([out] [retval] Windows.UI.Xaml.Interop.NotifyCollectionChangedAction* value); [propget] HRESULT NewItems([out] [retval] Windows.UI.Xaml.Interop.IBindableVector** value); [propget] HRESULT OldItems([out] [retval] Windows.UI.Xaml.Interop.IBindableVector** value); [propget] HRESULT NewStartingIndex([out] [retval] INT32* value); [propget] HRESULT OldStartingIndex([out] [retval] INT32* value); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.UI.Xaml.Interop.NotifyCollectionChangedEventArgs)] [uuid(B30C3E3A-DF8D-44A5-9A38-7AC0D08CE63D)] interface INotifyCollectionChangedEventArgsFactory : IInspectable { HRESULT CreateInstanceWithAllParameters([in] Windows.UI.Xaml.Interop.NotifyCollectionChangedAction action, [in] Windows.UI.Xaml.Interop.IBindableVector* newItems, [in] Windows.UI.Xaml.Interop.IBindableVector* oldItems, [in] INT32 newIndex, [in] INT32 oldIndex, [in] IInspectable* baseInterface, [out] IInspectable** innerInterface, [out] [retval] Windows.UI.Xaml.Interop.NotifyCollectionChangedEventArgs** value); } [composable(Windows.UI.Xaml.Interop.INotifyCollectionChangedEventArgsFactory, public, Windows.Foundation.UniversalApiContract, 1.0)] [contract(Windows.Foundation.UniversalApiContract, 1.0)] [marshaling_behavior(agile)] [threading(both)] runtimeclass NotifyCollectionChangedEventArgs { [default] interface Windows.UI.Xaml.Interop.INotifyCollectionChangedEventArgs; } } } } }