// WARNING: Please don't edit this file. It was generated by C++/WinRT v2.0.240405.15 #pragma once #ifndef WINRT_Windows_ApplicationModel_Contacts_Provider_H #define WINRT_Windows_ApplicationModel_Contacts_Provider_H #include "winrt/base.h" static_assert(winrt::check_version(CPPWINRT_VERSION, "2.0.240405.15"), "Mismatched C++/WinRT headers."); #define CPPWINRT_VERSION "2.0.240405.15" #include "winrt/Windows.ApplicationModel.Contacts.h" #include "winrt/impl/Windows.ApplicationModel.Contacts.2.h" #include "winrt/impl/Windows.Foundation.2.h" #include "winrt/impl/Windows.Foundation.Collections.2.h" #include "winrt/impl/Windows.ApplicationModel.Contacts.Provider.2.h" namespace winrt::impl { template auto consume_Windows_ApplicationModel_Contacts_Provider_IContactPickerUI::AddContact(param::hstring const& id, winrt::Windows::ApplicationModel::Contacts::Contact const& contact) const { winrt::Windows::ApplicationModel::Contacts::Provider::AddContactResult result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Contacts::Provider::IContactPickerUI)->AddContact(*(void**)(&id), *(void**)(&contact), reinterpret_cast(&result))); return result; } template auto consume_Windows_ApplicationModel_Contacts_Provider_IContactPickerUI::RemoveContact(param::hstring const& id) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Contacts::Provider::IContactPickerUI)->RemoveContact(*(void**)(&id))); } template auto consume_Windows_ApplicationModel_Contacts_Provider_IContactPickerUI::ContainsContact(param::hstring const& id) const { bool isContained{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Contacts::Provider::IContactPickerUI)->ContainsContact(*(void**)(&id), &isContained)); return isContained; } template auto consume_Windows_ApplicationModel_Contacts_Provider_IContactPickerUI::DesiredFields() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Contacts::Provider::IContactPickerUI)->get_DesiredFields(&value)); return winrt::Windows::Foundation::Collections::IVectorView{ value, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Contacts_Provider_IContactPickerUI::SelectionMode() const { winrt::Windows::ApplicationModel::Contacts::ContactSelectionMode value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Contacts::Provider::IContactPickerUI)->get_SelectionMode(reinterpret_cast(&value))); return value; } template auto consume_Windows_ApplicationModel_Contacts_Provider_IContactPickerUI::ContactRemoved(winrt::Windows::Foundation::TypedEventHandler const& handler) const { winrt::event_token token{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Contacts::Provider::IContactPickerUI)->add_ContactRemoved(*(void**)(&handler), put_abi(token))); return token; } template auto consume_Windows_ApplicationModel_Contacts_Provider_IContactPickerUI::ContactRemoved(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const { return impl::make_event_revoker(this, ContactRemoved(handler)); } template auto consume_Windows_ApplicationModel_Contacts_Provider_IContactPickerUI::ContactRemoved(winrt::event_token const& token) const noexcept { WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Contacts::Provider::IContactPickerUI)->remove_ContactRemoved(impl::bind_in(token)); } template auto consume_Windows_ApplicationModel_Contacts_Provider_IContactPickerUI2::AddContact(winrt::Windows::ApplicationModel::Contacts::Contact const& contact) const { winrt::Windows::ApplicationModel::Contacts::Provider::AddContactResult result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Contacts::Provider::IContactPickerUI2)->AddContact(*(void**)(&contact), reinterpret_cast(&result))); return result; } template auto consume_Windows_ApplicationModel_Contacts_Provider_IContactPickerUI2::DesiredFieldsWithContactFieldType() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Contacts::Provider::IContactPickerUI2)->get_DesiredFieldsWithContactFieldType(&value)); return winrt::Windows::Foundation::Collections::IVector{ value, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Contacts_Provider_IContactRemovedEventArgs::Id() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Contacts::Provider::IContactRemovedEventArgs)->get_Id(&value)); return hstring{ value, take_ownership_from_abi }; } #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall AddContact(void* id, void* contact, int32_t* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().AddContact(*reinterpret_cast(&id), *reinterpret_cast(&contact))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall RemoveContact(void* id) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().RemoveContact(*reinterpret_cast(&id)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall ContainsContact(void* id, bool* isContained) noexcept final try { typename D::abi_guard guard(this->shim()); *isContained = detach_from(this->shim().ContainsContact(*reinterpret_cast(&id))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_DesiredFields(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().DesiredFields()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_SelectionMode(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().SelectionMode()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall add_ContactRemoved(void* handler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().ContactRemoved(*reinterpret_cast const*>(&handler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_ContactRemoved(winrt::event_token token) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().ContactRemoved(*reinterpret_cast(&token)); return 0; } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall AddContact(void* contact, int32_t* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().AddContact(*reinterpret_cast(&contact))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_DesiredFieldsWithContactFieldType(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().DesiredFieldsWithContactFieldType()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Id(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Id()); return 0; } catch (...) { return to_hresult(); } }; #endif } WINRT_EXPORT namespace winrt::Windows::ApplicationModel::Contacts::Provider { } namespace std { #ifndef WINRT_LEAN_AND_MEAN template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; #endif #ifdef __cpp_lib_format #endif } #endif